@spec2ts/openapi-client 2.0.0 → 3.0.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.
package/cli/command.js CHANGED
@@ -105,13 +105,13 @@ async function handler(options) {
105
105
  if (!options.typesPath.startsWith(".")) {
106
106
  options.typesPath = "./" + options.typesPath;
107
107
  }
108
- const res = await openapi_generator_1.generateClientFromFile(file, options);
108
+ const res = await (0, openapi_generator_1.generateClientFromFile)(file, options);
109
109
  printFile(res.client, output, options);
110
110
  const outputTypes = path.resolve(path.dirname(output), options.typesPath + ".ts");
111
111
  printFile(res.types, outputTypes, options);
112
112
  }
113
113
  else {
114
- const sourceFile = await openapi_generator_1.generateClientFromFile(file, options);
114
+ const sourceFile = await (0, openapi_generator_1.generateClientFromFile)(file, options);
115
115
  printFile(sourceFile, output, options);
116
116
  }
117
117
  if (options.packageName) {
package/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,7 @@
1
1
  import * as ts from "typescript";
2
- import type { OpenAPIObject } from "openapi3-ts";
2
+ import type { OpenAPIObject } from "openapi3-ts/oas30";
3
3
  import { OApiGeneratorContext } from "./core-parser";
4
- export declare type Formatter = "space" | "pipe" | "deep" | "explode" | "form";
4
+ export type Formatter = "space" | "pipe" | "deep" | "explode" | "form";
5
5
  export declare function generateServers(file: ts.SourceFile, { servers }: OpenAPIObject, context: OApiGeneratorContext): ts.SourceFile;
6
6
  export declare function generateDefaults(file: ts.SourceFile, context: OApiGeneratorContext): ts.SourceFile;
7
7
  export declare function generateFunctions(file: ts.SourceFile, spec: OpenAPIObject, context: OApiGeneratorContext): ts.SourceFile;
@@ -17,8 +17,8 @@ function generateServers(file, { servers }, context) {
17
17
  if (!serversConst || !defaultsConst) {
18
18
  throw new Error("Invalid template: missing servers or defaults const");
19
19
  }
20
- file = core.replaceSourceFileStatement(file, serversConst, core.updateVariableStatementValue(serversConst, "servers", server_parser_1.parseServers(servers)));
21
- file = core.replaceSourceFileStatement(file, defaultsConst, core.updateVariableStatementPropertyValue(defaultsConst, "defaults", "baseUrl", server_parser_1.defaultBaseUrl(servers)));
20
+ file = core.replaceSourceFileStatement(file, serversConst, core.updateVariableStatementValue(serversConst, "servers", (0, server_parser_1.parseServers)(servers)));
21
+ file = core.replaceSourceFileStatement(file, defaultsConst, core.updateVariableStatementPropertyValue(defaultsConst, "defaults", "baseUrl", (0, server_parser_1.defaultBaseUrl)(servers)));
22
22
  return file;
23
23
  }
24
24
  exports.generateServers = generateServers;
@@ -42,19 +42,14 @@ function generateDefaults(file, context) {
42
42
  }
43
43
  exports.generateDefaults = generateDefaults;
44
44
  function generateFunctions(file, spec, context) {
45
- const functions = [];
46
- const paths = Object.entries(spec.paths)
47
- .filter(([path]) => !context.options.prefix || path.startsWith(context.options.prefix))
48
- .reduce((acc, [path, pathSpec]) => ({ ...acc, [path]: pathSpec }), {});
49
- for (const path in paths) {
50
- const item = core_parser_1.resolveReference(spec.paths[path], context);
51
- for (const verb in item) {
52
- const method = verb.toUpperCase();
53
- if (core_parser_2.isMethod(method)) {
54
- functions.push(generateFunction(path, item, method, item[verb], context));
55
- }
56
- }
57
- }
45
+ const paths = Object.fromEntries(Object.entries(spec.paths)
46
+ .filter(([path]) => !context.options.prefix || path.startsWith(context.options.prefix)));
47
+ const functions = Object.entries(paths).map(([path, pathSpec]) => {
48
+ const item = (0, core_parser_1.resolveReference)(pathSpec, context);
49
+ return Object.entries(item)
50
+ .filter(([verb,]) => (0, core_parser_2.isMethod)(verb.toUpperCase()))
51
+ .map(([verb, entry]) => generateFunction(path, item, verb.toUpperCase(), entry, context));
52
+ }).flat();
58
53
  if (context.options.typesPath && context.typesFile) {
59
54
  context.typesFile = core.updateSourceFileStatements(context.typesFile, context.aliases);
60
55
  file = core.updateSourceFileStatements(file, [
@@ -73,7 +68,7 @@ function generateFunctions(file, spec, context) {
73
68
  }
74
69
  exports.generateFunctions = generateFunctions;
75
70
  function generateFunction(path, item, method, operation, context) {
76
- const { name, query, header, paramsVars, args, bodyMode, bodyVar, response, responseVoid, responseJSON } = core_parser_2.parseOperation(path, item, method, operation, context);
71
+ const { name, query, header, paramsVars, args, bodyMode, bodyVar, response, responseVoid, responseJSON } = (0, core_parser_2.parseOperation)(path, item, method, operation, context);
77
72
  const qs = generateQs(query, paramsVars);
78
73
  const url = generateUrl(path, qs);
79
74
  const init = [
@@ -120,7 +115,7 @@ function generateUrl(path, qs) {
120
115
  const spans = [];
121
116
  // Use a replacer function to collect spans as a side effect:
122
117
  const head = path.replace(/(.*?)\{(.+?)\}(.*?)(?=\{|$)/g, (_, head, name, literal) => {
123
- const expression = util_1.camelCase(name);
118
+ const expression = (0, util_1.camelCase)(name);
124
119
  spans.push({ expression: ts.factory.createIdentifier(expression), literal });
125
120
  return head;
126
121
  });
@@ -1,9 +1,9 @@
1
1
  import * as ts from "typescript";
2
- import type { PathItemObject, OperationObject, ParameterObject } from "openapi3-ts";
2
+ import type { PathItemObject, OperationObject, ParameterObject } from "openapi3-ts/oas30";
3
3
  import { ParserContext } from "@spec2ts/jsonschema/lib/core-parser";
4
4
  import type { OApiGeneratorOptions } from "./openapi-generator";
5
- export declare type Method = "GET" | "PUT" | "POST" | "DELETE" | "OPTIONS" | "HEAD" | "PATCH" | "TRACE";
6
- export declare type ContentTypeMode = "json" | "form" | "multipart";
5
+ export type Method = "GET" | "PUT" | "POST" | "DELETE" | "OPTIONS" | "HEAD" | "PATCH" | "TRACE";
6
+ export type ContentTypeMode = "json" | "form" | "multipart";
7
7
  export interface OApiGeneratorContext extends ParserContext {
8
8
  options: OApiGeneratorOptions;
9
9
  typesFile?: ts.SourceFile;
@@ -38,7 +38,7 @@ function parseArgs(result, item, operation, context) {
38
38
  }));
39
39
  }
40
40
  function parseResponses(result, path, method, operation, context) {
41
- const operationName = core_parser_2.getOperationName(method, path, operation.operationId, context);
41
+ const operationName = (0, core_parser_2.getOperationName)(method, path, operation.operationId, context);
42
42
  result.response = getTypeFromResponses(operationName, operation.responses, context);
43
43
  result.responseJSON = isJSONResponse(operation.responses, context);
44
44
  result.responseVoid = result.response === core.keywordType.void;
@@ -57,7 +57,7 @@ function parseParameters(result, item, operation, context) {
57
57
  objectBindingParams = optional;
58
58
  required.forEach(p => {
59
59
  result.args.push(core.createParameter(argNames[p.name], {
60
- type: core_parser_1.getTypeFromSchema(p.schema, context),
60
+ type: (0, core_parser_1.getTypeFromSchema)(p.schema, context),
61
61
  }));
62
62
  });
63
63
  }
@@ -69,15 +69,15 @@ function parseParameters(result, item, operation, context) {
69
69
  type: ts.factory.createTypeLiteralNode(objectBindingParams.map((p) => core.createPropertySignature({
70
70
  name: argNames[p.name],
71
71
  questionToken: !p.required,
72
- type: core_parser_1.getTypeFromSchema(p.schema, context)
72
+ type: (0, core_parser_1.getTypeFromSchema)(p.schema, context)
73
73
  }))),
74
74
  }));
75
75
  }
76
76
  function parseRequestBody(result, requestBody, context) {
77
- const body = core_parser_1.resolveReference(requestBody, context);
77
+ const body = (0, core_parser_1.resolveReference)(requestBody, context);
78
78
  const [schema, mode] = getSchemaFromContent(body.content);
79
- const type = core_parser_1.getTypeFromSchema(schema, context);
80
- const bodyVar = result.bodyVar = util_1.camelCase(type.name || getReferenceName(schema) || "body");
79
+ const type = (0, core_parser_1.getTypeFromSchema)(schema, context);
80
+ const bodyVar = result.bodyVar = (0, util_1.camelCase)(type.name || getReferenceName(schema) || "body");
81
81
  result.bodyMode = mode;
82
82
  result.args.push(core.createParameter(bodyVar, { type }));
83
83
  }
@@ -85,9 +85,9 @@ function createParametersNames(parameters) {
85
85
  const argNames = {};
86
86
  parameters.forEach(({ name }) => {
87
87
  // strip leading namespaces, eg. foo.name -> name
88
- const stripped = util_1.camelCase(name.replace(/.+\./, ""));
88
+ const stripped = (0, util_1.camelCase)(name.replace(/.+\./, ""));
89
89
  // keep the prefix if the stripped-down name is already taken
90
- argNames[name] = stripped in argNames ? util_1.camelCase(name) : stripped;
90
+ argNames[name] = stripped in argNames ? (0, util_1.camelCase)(name) : stripped;
91
91
  });
92
92
  return argNames;
93
93
  }
@@ -114,7 +114,7 @@ function getTypeFromResponses(operationName, res, context) {
114
114
  isOK && types.push(type);
115
115
  }
116
116
  else {
117
- const name = core_parser_2.getResponseName(operationName, code, context);
117
+ const name = (0, core_parser_2.getResponseName)(operationName, code, context);
118
118
  context.aliases.push(core.createTypeOrInterfaceDeclaration({
119
119
  modifiers: [core.modifier.export],
120
120
  name, type
@@ -136,7 +136,7 @@ function isJSONResponse(responses, context) {
136
136
  if (!resCode) {
137
137
  return false;
138
138
  }
139
- const response = core_parser_1.resolveReference(responses[resCode], context);
139
+ const response = (0, core_parser_1.resolveReference)(responses[resCode], context);
140
140
  return (!!((_a = response === null || response === void 0 ? void 0 : response.content) === null || _a === void 0 ? void 0 : _a["application/json"]) ||
141
141
  !!((_b = response === null || response === void 0 ? void 0 : response.content) === null || _b === void 0 ? void 0 : _b["*/*"]));
142
142
  }
@@ -152,11 +152,11 @@ exports.isMethod = isMethod;
152
152
  //#endregion
153
153
  //#region Private
154
154
  function getTypeFromResponse(res, context) {
155
- res = core_parser_1.resolveReference(res, context);
155
+ res = (0, core_parser_1.resolveReference)(res, context);
156
156
  if (!(res === null || res === void 0 ? void 0 : res.content)) {
157
157
  return core.keywordType.void;
158
158
  }
159
- return core_parser_1.getTypeFromSchema(getSchemaFromContent(res.content)[0], context);
159
+ return (0, core_parser_1.getTypeFromSchema)(getSchemaFromContent(res.content)[0], context);
160
160
  }
161
161
  function getSchemaFromContent(content) {
162
162
  var _a;
@@ -172,11 +172,11 @@ function getSchemaFromContent(content) {
172
172
  }
173
173
  function resolveReferences(array, context) {
174
174
  var _a;
175
- return (_a = array === null || array === void 0 ? void 0 : array.map(ref => core_parser_1.resolveReference(ref, context))) !== null && _a !== void 0 ? _a : [];
175
+ return (_a = array === null || array === void 0 ? void 0 : array.map(ref => (0, core_parser_1.resolveReference)(ref, context))) !== null && _a !== void 0 ? _a : [];
176
176
  }
177
177
  function getReferenceName(obj) {
178
- if (core_parser_1.isReference(obj)) {
179
- return util_1.camelCase(obj.$ref.split("/").slice(-1)[0]);
178
+ if ((0, core_parser_1.isReference)(obj)) {
179
+ return (0, util_1.camelCase)(obj.$ref.split("/").slice(-1)[0]);
180
180
  }
181
181
  }
182
182
  /**
@@ -220,7 +220,7 @@ function getOperationVar(verb, path, operationId, context) {
220
220
  }
221
221
  function getPathVar(path, context) {
222
222
  path = path.replace(/\{(.+?)\}/, "by $1").replace(/\{(.+?)\}/g, "and $1");
223
- let name = util_1.camelCase(path);
223
+ let name = (0, util_1.camelCase)(path);
224
224
  const count = (context.names[name] = (context.names[name] || 0) + 1);
225
225
  if (count > 1) {
226
226
  name += count;
@@ -232,7 +232,7 @@ function getOperationVarId(id) {
232
232
  return;
233
233
  if (id.match(/[^\w\s]/))
234
234
  return;
235
- id = util_1.camelCase(id);
235
+ id = (0, util_1.camelCase)(id);
236
236
  if (core.isValidIdentifier(id))
237
237
  return id;
238
238
  }
@@ -1,5 +1,5 @@
1
1
  import * as ts from "typescript";
2
- import type { OpenAPIObject } from "openapi3-ts";
2
+ import type { OpenAPIObject } from "openapi3-ts/oas30";
3
3
  import { ParserOptions } from "@spec2ts/jsonschema/lib/core-parser";
4
4
  export interface OApiGeneratorOptions extends ParserOptions {
5
5
  inlineRequired?: boolean;
@@ -4,12 +4,12 @@ exports.generateClient = exports.generateClientFromFile = void 0;
4
4
  const path = require("path");
5
5
  const ts = require("typescript");
6
6
  const core = require("@spec2ts/core");
7
- const $RefParser = require("@apidevtools/json-schema-ref-parser");
7
+ const json_schema_ref_parser_1 = require("@apidevtools/json-schema-ref-parser");
8
8
  const core_parser_1 = require("@spec2ts/jsonschema/lib/core-parser");
9
9
  const core_parser_2 = require("@spec2ts/openapi/lib/core-parser");
10
10
  const core_generator_1 = require("./core-generator");
11
11
  async function generateClientFromFile(file, options = {}) {
12
- const schema = await $RefParser.parse(file);
12
+ const schema = await json_schema_ref_parser_1.default.parse(file);
13
13
  return generateClient(schema, {
14
14
  cwd: path.resolve(path.dirname(file)) + "/",
15
15
  ...options
@@ -20,14 +20,14 @@ async function generateClient(spec, options = {}) {
20
20
  if (!options.parseReference) {
21
21
  options.parseReference = core_parser_2.parseReference;
22
22
  }
23
- const context = await core_parser_1.createContext(spec, options);
23
+ const context = await (0, core_parser_1.createContext)(spec, options);
24
24
  let file = await core.createSourceFileFromFile(__dirname + "/templates/_client.tpl.ts");
25
25
  if (context.options.typesPath) {
26
26
  context.typesFile = ts.createSourceFile("types.ts", "", ts.ScriptTarget.Latest, false, ts.ScriptKind.TS);
27
27
  }
28
- file = core_generator_1.generateServers(file, spec, context);
29
- file = core_generator_1.generateDefaults(file, context);
30
- file = core_generator_1.generateFunctions(file, spec, context);
28
+ file = (0, core_generator_1.generateServers)(file, spec, context);
29
+ file = (0, core_generator_1.generateDefaults)(file, context);
30
+ file = (0, core_generator_1.generateFunctions)(file, spec, context);
31
31
  if (context.options.typesPath) {
32
32
  return {
33
33
  client: file,
@@ -1,4 +1,4 @@
1
1
  import * as ts from "typescript";
2
- import type { ServerObject } from "openapi3-ts";
2
+ import type { ServerObject } from "openapi3-ts/oas30";
3
3
  export declare function parseServers(servers: ServerObject[]): ts.ObjectLiteralExpression;
4
4
  export declare function defaultBaseUrl(servers: ServerObject[]): ts.StringLiteral;
@@ -15,7 +15,7 @@ function defaultBaseUrl(servers) {
15
15
  exports.defaultBaseUrl = defaultBaseUrl;
16
16
  function serverName(server, index) {
17
17
  return server.description ?
18
- util_1.camelCase(server.description.replace(/\W+/, " ")) :
18
+ (0, util_1.camelCase)(server.description.replace(/\W+/, " ")) :
19
19
  `server${index + 1}`;
20
20
  }
21
21
  function generateServerExpression(server) {
@@ -1,28 +1,28 @@
1
1
  export declare const defaults: RequestOptions;
2
2
  export declare const servers: {};
3
- export declare type RequestOptions = {
3
+ export type RequestOptions = {
4
4
  baseUrl?: string;
5
5
  fetch?: typeof fetch;
6
6
  headers?: Record<string, string | undefined>;
7
7
  } & Omit<RequestInit, "body" | "headers">;
8
- export declare type ApiResponse<T> = {
8
+ export type ApiResponse<T> = {
9
9
  status: number;
10
10
  statusText: string;
11
11
  headers: Record<string, string>;
12
12
  data: T;
13
13
  };
14
- declare type Encoders = Array<(s: string) => string>;
15
- declare type TagFunction = (strings: TemplateStringsArray, ...values: any[]) => string;
16
- declare type FetchRequestOptions = RequestOptions & {
14
+ type Encoders = Array<(s: string) => string>;
15
+ type TagFunction = (strings: TemplateStringsArray, ...values: any[]) => string;
16
+ type FetchRequestOptions = RequestOptions & {
17
17
  body?: string | FormData;
18
18
  };
19
- declare type JsonRequestOptions = RequestOptions & {
19
+ type JsonRequestOptions = RequestOptions & {
20
20
  body: unknown;
21
21
  };
22
- declare type FormRequestOptions<T extends Record<string, unknown>> = RequestOptions & {
22
+ type FormRequestOptions<T extends Record<string, unknown>> = RequestOptions & {
23
23
  body: T;
24
24
  };
25
- declare type MultipartRequestOptions = RequestOptions & {
25
+ type MultipartRequestOptions = RequestOptions & {
26
26
  body: Record<string, any>;
27
27
  };
28
28
  /** Utilities functions */
@@ -35,7 +35,7 @@ export declare const _: {
35
35
  /** Creates a tag-function to encode template strings with the given encoders. */
36
36
  encode(encoders: Encoders, delimiter?: string): TagFunction;
37
37
  /** Separate array values by the given delimiter. */
38
- delimited(delimiter?: string): (params: Record<string, any>, encoders?: Encoders | undefined) => string;
38
+ delimited(delimiter?: string): (params: Record<string, any>, encoders?: Encoders) => string;
39
39
  /** Join URLs parts. */
40
40
  joinUrl(...parts: Array<string | undefined>): string;
41
41
  };
@@ -55,13 +55,13 @@ export declare const QS: {
55
55
  * See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#encoding-object
56
56
  */
57
57
  explode(params: Record<string, any>, encoders?: (typeof encodeURI)[]): string;
58
- form: (params: Record<string, any>, encoders?: Encoders | undefined) => string;
59
- pipe: (params: Record<string, any>, encoders?: Encoders | undefined) => string;
60
- space: (params: Record<string, any>, encoders?: Encoders | undefined) => string;
58
+ form: (params: Record<string, any>, encoders?: Encoders) => string;
59
+ pipe: (params: Record<string, any>, encoders?: Encoders) => string;
60
+ space: (params: Record<string, any>, encoders?: Encoders) => string;
61
61
  };
62
62
  /** Http request base methods. */
63
63
  export declare const http: {
64
- fetch(url: string, req?: FetchRequestOptions | undefined): Promise<ApiResponse<string | undefined>>;
64
+ fetch(url: string, req?: FetchRequestOptions): Promise<ApiResponse<string | undefined>>;
65
65
  fetchJson(url: string, req?: FetchRequestOptions): Promise<ApiResponse<any>>;
66
66
  fetchVoid(url: string, req?: FetchRequestOptions): Promise<ApiResponse<undefined>>;
67
67
  json({ body, headers, ...req }: JsonRequestOptions): FetchRequestOptions;
@@ -77,5 +77,5 @@ export declare class HttpError extends Error {
77
77
  constructor(status: number, statusText: string, url: string, headers: Headers, text?: string);
78
78
  }
79
79
  /** Utility Type to extract returns type from a method. */
80
- export declare type ApiResult<Fn> = Fn extends (...args: any) => Promise<ApiResponse<infer T>> ? T : never;
80
+ export type ApiResult<Fn> = Fn extends (...args: any) => Promise<ApiResponse<infer T>> ? T : never;
81
81
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spec2ts/openapi-client",
3
- "version": "2.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Utility to convert OpenAPI v3 specifications to Typescript HTTP client using TypeScript native compiler",
5
5
  "author": "Touchify <dev@touchify.co>",
6
6
  "license": "MIT",
@@ -33,24 +33,24 @@
33
33
  "test:jest": "jest -c ../../jest.config.js --rootDir .",
34
34
  "test:coverage": "npm run test -- -- --coverage",
35
35
  "lint": "npm run lint:ts",
36
- "lint:ts": "eslint \"*.ts\" \"{bin,cli,lib}/**/*.ts\"",
36
+ "lint:ts": "eslint '*.ts' '{bin,cli,lib}/**/*.ts'",
37
37
  "lint:fix": "npm run lint -- -- --fix",
38
38
  "clean": "npm run clean:ts",
39
- "clean:ts": "del *.{js,d.ts} {bin,cli,lib}/**/*.{js,d.ts}",
39
+ "clean:ts": "del '*.{js,d.ts}' '{bin,cli,lib}/**/*.{js,d.ts}'",
40
40
  "prepublishOnly": "npm test && npm run build"
41
41
  },
42
42
  "dependencies": {
43
- "@spec2ts/core": "^2.0.0",
44
- "@spec2ts/jsonschema": "^2.0.0",
45
- "@spec2ts/openapi": "^2.0.0",
46
- "openapi3-ts": "^1.3.0",
47
- "yargs": "^15.3.1"
43
+ "@spec2ts/core": "^3.0.0",
44
+ "@spec2ts/jsonschema": "^3.0.1",
45
+ "@spec2ts/openapi": "^3.0.1",
46
+ "openapi3-ts": "^4.1.2",
47
+ "yargs": "^17.7.2"
48
48
  },
49
49
  "devDependencies": {
50
- "del-cli": "^5.0.0",
51
- "eslint": "^7.11.0",
52
- "jest": "^26.5.3",
53
- "typescript": "^4.0.0"
50
+ "del-cli": "^5.1.0",
51
+ "eslint": "^8.49.0",
52
+ "jest": "^29.6.4",
53
+ "typescript": "^5.2.2"
54
54
  },
55
55
  "keywords": [
56
56
  "openapi",
@@ -70,5 +70,5 @@
70
70
  "spec2ts",
71
71
  "share"
72
72
  ],
73
- "gitHead": "34fe406a4701ba1b7c173d3580e85f65e2950012"
73
+ "gitHead": "bb551ca5222ea751290b8d78577d4a571a8b03cb"
74
74
  }
package/CHANGELOG.md DELETED
@@ -1,291 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # [2.0.0](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.13...@spec2ts/openapi-client@2.0.0) (2023-09-07)
7
-
8
- **Note:** Version bump only for package @spec2ts/openapi-client
9
-
10
-
11
-
12
-
13
-
14
- # [2.0.0-beta.13](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.12...@spec2ts/openapi-client@2.0.0-beta.13) (2022-09-21)
15
-
16
- **Note:** Version bump only for package @spec2ts/openapi-client
17
-
18
-
19
-
20
-
21
-
22
- # [2.0.0-beta.12](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.11...@spec2ts/openapi-client@2.0.0-beta.12) (2022-08-23)
23
-
24
-
25
- ### Features
26
-
27
- * allow url & prefix override ([9139ccb](https://github.com/touchifyapp/spec2ts/commit/9139ccbb89329972e45e8d813adfd81648a01bb7))
28
-
29
-
30
-
31
-
32
-
33
- # [2.0.0-beta.11](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.10...@spec2ts/openapi-client@2.0.0-beta.11) (2022-07-29)
34
-
35
- **Note:** Version bump only for package @spec2ts/openapi-client
36
-
37
-
38
-
39
-
40
-
41
- # [2.0.0-beta.10](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.9...@spec2ts/openapi-client@2.0.0-beta.10) (2022-06-27)
42
-
43
-
44
- ### Bug Fixes
45
-
46
- * **openapi-client:** upgrade to typescript 4 ([932877f](https://github.com/touchifyapp/spec2ts/commit/932877f83915a953400b41fc74ea921aeaed3b1d))
47
-
48
-
49
-
50
-
51
-
52
- # [2.0.0-beta.9](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.8...@spec2ts/openapi-client@2.0.0-beta.9) (2022-01-27)
53
-
54
- **Note:** Version bump only for package @spec2ts/openapi-client
55
-
56
-
57
-
58
-
59
-
60
- # [2.0.0-beta.8](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.7...@spec2ts/openapi-client@2.0.0-beta.8) (2021-11-03)
61
-
62
- **Note:** Version bump only for package @spec2ts/openapi-client
63
-
64
-
65
-
66
-
67
-
68
- # [2.0.0-beta.7](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.6...@spec2ts/openapi-client@2.0.0-beta.7) (2021-10-23)
69
-
70
- **Note:** Version bump only for package @spec2ts/openapi-client
71
-
72
-
73
-
74
-
75
-
76
- # [2.0.0-beta.6](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.5...@spec2ts/openapi-client@2.0.0-beta.6) (2021-02-27)
77
-
78
- **Note:** Version bump only for package @spec2ts/openapi-client
79
-
80
-
81
-
82
-
83
-
84
- # [2.0.0-beta.5](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.4...@spec2ts/openapi-client@2.0.0-beta.5) (2020-12-21)
85
-
86
-
87
- ### Bug Fixes
88
-
89
- * **openapi-client:** allow $ and _ in camelCase ([08c244e](https://github.com/touchifyapp/spec2ts/commit/08c244eb6e2c0a6f3ab833faa5159483ca1adda7))
90
-
91
-
92
-
93
-
94
-
95
- # [2.0.0-beta.4](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.3...@spec2ts/openapi-client@2.0.0-beta.4) (2020-12-14)
96
-
97
-
98
- ### Bug Fixes
99
-
100
- * **openapi-client:** type issue in TS 4.1 ([09da142](https://github.com/touchifyapp/spec2ts/commit/09da1423ce16e1a8ccee81ba0ad160f5f6313a67))
101
-
102
-
103
-
104
-
105
-
106
- # [2.0.0-beta.3](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.2...@spec2ts/openapi-client@2.0.0-beta.3) (2020-11-29)
107
-
108
-
109
- ### Bug Fixes
110
-
111
- * **openapi:** bad yargs options for enableDate ([cc799cb](https://github.com/touchifyapp/spec2ts/commit/cc799cb14600f5a5388a825932622251ed1df19c))
112
-
113
-
114
-
115
-
116
-
117
- # [2.0.0-beta.2](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.1...@spec2ts/openapi-client@2.0.0-beta.2) (2020-11-29)
118
-
119
-
120
- ### Features
121
-
122
- * **openapi-client:** add support for new lax date style ([73ac242](https://github.com/touchifyapp/spec2ts/commit/73ac2428cf7195817cc66c41a9e18fa6e9a7abee))
123
-
124
-
125
-
126
-
127
-
128
- # [2.0.0-beta.1](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@2.0.0-beta.0...@spec2ts/openapi-client@2.0.0-beta.1) (2020-11-16)
129
-
130
-
131
- ### Bug Fixes
132
-
133
- * **openapi-client:** improve types for TypeScript v4 ([7927e7b](https://github.com/touchifyapp/spec2ts/commit/7927e7ba48f5abf03f0a51972213f9034cf5f09d))
134
-
135
-
136
-
137
-
138
-
139
- # [2.0.0-beta.0](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.4.3...@spec2ts/openapi-client@2.0.0-beta.0) (2020-11-13)
140
-
141
-
142
- ### Features
143
-
144
- * **global:** upgrade typescript 4 ([#16](https://github.com/touchifyapp/spec2ts/issues/16)) ([fcd82be](https://github.com/touchifyapp/spec2ts/commit/fcd82be93be3986a2f723680f1c52818eb7ba1bc))
145
-
146
-
147
- ### BREAKING CHANGES
148
-
149
- * **global:** use typescript v4
150
- * **global:** updates are now immutable
151
-
152
-
153
-
154
-
155
-
156
- ## [1.4.3](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.4.2...@spec2ts/openapi-client@1.4.3) (2020-10-26)
157
-
158
- **Note:** Version bump only for package @spec2ts/openapi-client
159
-
160
-
161
-
162
-
163
-
164
- ## [1.4.2](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.4.1...@spec2ts/openapi-client@1.4.2) (2020-10-26)
165
-
166
- **Note:** Version bump only for package @spec2ts/openapi-client
167
-
168
-
169
-
170
-
171
-
172
- ## [1.4.1](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.4.0...@spec2ts/openapi-client@1.4.1) (2020-10-06)
173
-
174
-
175
- ### Bug Fixes
176
-
177
- * **openapi-client:** various serialization misbehaviors ([#6](https://github.com/touchifyapp/spec2ts/issues/6)) ([02b320f](https://github.com/touchifyapp/spec2ts/commit/02b320f2c55674fd26ad691137753baa1cee82af))
178
-
179
-
180
-
181
-
182
-
183
- # [1.4.0](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.3.0...@spec2ts/openapi-client@1.4.0) (2020-07-08)
184
-
185
-
186
- ### Features
187
-
188
- * **openapi-client:** allow to separtes types from client ([6c0e246](https://github.com/touchifyapp/spec2ts/commit/6c0e2462642217229c439d9002db90d6b2517166))
189
-
190
-
191
-
192
-
193
-
194
- # [1.3.0](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.2.3...@spec2ts/openapi-client@1.3.0) (2020-06-01)
195
-
196
-
197
- ### Features
198
-
199
- * **openapi-client:** add cli options ([9dbd5c7](https://github.com/touchifyapp/spec2ts/commit/9dbd5c769b828bf1c1366fab4bcf58214c805270))
200
-
201
-
202
-
203
-
204
-
205
- ## [1.2.3](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.2.2...@spec2ts/openapi-client@1.2.3) (2020-05-27)
206
-
207
- **Note:** Version bump only for package @spec2ts/openapi-client
208
-
209
-
210
-
211
-
212
-
213
- ## [1.2.2](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.2.1...@spec2ts/openapi-client@1.2.2) (2020-05-24)
214
-
215
-
216
- ### Bug Fixes
217
-
218
- * **openapi-client:** fix missing @types/node with custom fetch ([a9696ef](https://github.com/touchifyapp/spec2ts/commit/a9696ef7222d1961bfb657d53082cafd89b7cc2e))
219
-
220
-
221
-
222
-
223
-
224
- ## [1.2.1](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.2.0...@spec2ts/openapi-client@1.2.1) (2020-05-24)
225
-
226
-
227
- ### Bug Fixes
228
-
229
- * **openapi-client:** fix default build script ([e9c9733](https://github.com/touchifyapp/spec2ts/commit/e9c973303f484e4be314ecab41480decd1f5c26d))
230
-
231
-
232
-
233
-
234
-
235
- # [1.2.0](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.1.2...@spec2ts/openapi-client@1.2.0) (2020-05-24)
236
-
237
-
238
- ### Bug Fixes
239
-
240
- * **openapi-client:** improve custom fetch implementation support ([cf7a434](https://github.com/touchifyapp/spec2ts/commit/cf7a434327dda5c7ee959f8084f251d42fbe00b3))
241
-
242
-
243
- ### Features
244
-
245
- * **cli:** add default banner ([b0945e0](https://github.com/touchifyapp/spec2ts/commit/b0945e08b2c1da4dc494dca1890d491768a13e60))
246
-
247
-
248
-
249
-
250
-
251
- ## [1.1.2](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.1.1...@spec2ts/openapi-client@1.1.2) (2020-05-22)
252
-
253
-
254
- ### Bug Fixes
255
-
256
- * **openapi-client:** use explode by default for form style ([d09909d](https://github.com/touchifyapp/spec2ts/commit/d09909db2db8fb136b113e5f921f90cccb31a81c))
257
-
258
-
259
-
260
-
261
-
262
- ## [1.1.1](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.1.0...@spec2ts/openapi-client@1.1.1) (2020-05-18)
263
-
264
- **Note:** Version bump only for package @spec2ts/openapi-client
265
-
266
-
267
-
268
-
269
-
270
- # [1.1.0](https://github.com/touchifyapp/spec2ts/compare/@spec2ts/openapi-client@1.0.0...@spec2ts/openapi-client@1.1.0) (2020-05-18)
271
-
272
-
273
- ### Features
274
-
275
- * **oapi-client:** add package.json generation ([c89ebab](https://github.com/touchifyapp/spec2ts/commit/c89ebab8d68961797aee47799be21b8371a10fb6))
276
-
277
-
278
-
279
-
280
-
281
- # 1.0.0 (2020-05-18)
282
-
283
-
284
- ### Features
285
-
286
- * **oapi-client:** add openapi-client generator ([9c83cf8](https://github.com/touchifyapp/spec2ts/commit/9c83cf888eb1ad873beba17a3a11de1bc84db723))
287
-
288
-
289
- ### BREAKING CHANGES
290
-
291
- * **oapi-client:** force V1
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import "../cli";