orval 6.6.4 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -40,6 +40,7 @@ declare type GetterBody = {
40
40
  schemas: GeneratorSchema[];
41
41
  formData?: string;
42
42
  formUrlEncoded?: string;
43
+ contentType: string;
43
44
  };
44
45
  declare type GetterParam = {
45
46
  name: string;
@@ -169,6 +170,7 @@ declare type GeneratorMutator = {
169
170
  hasSecondArg: boolean;
170
171
  hasThirdArg: boolean;
171
172
  isHook: boolean;
173
+ bodyTypeName?: string;
172
174
  };
173
175
  declare type ClientBuilder = (verbOptions: GeneratorVerbOptions, options: GeneratorOptions, outputClient: OutputClient | OutputClientFunc) => GeneratorClient;
174
176
  declare type ClientHeaderBuilder = (params: {
@@ -179,8 +181,13 @@ declare type ClientHeaderBuilder = (params: {
179
181
  isGlobalMutator: boolean;
180
182
  provideInRoot: boolean;
181
183
  provideIn: boolean | 'root' | 'any';
184
+ hasAwaitedType: boolean;
185
+ }) => string;
186
+ declare type ClientFooterBuilder = (params: {
187
+ noFunction?: boolean | undefined;
188
+ operationNames: string[];
189
+ title?: string;
182
190
  }) => string;
183
- declare type ClientFooterBuilder = (operationIds?: string[]) => string;
184
191
  declare type ClientTitleBuilder = (title: string) => string;
185
192
  declare type ClientDependenciesBuilder = (hasGlobalMutator: boolean) => GeneratorDependency[];
186
193
  declare type ClientMSWBuilder = (verbOptions: GeneratorVerbOptions, generatorOptions: GeneratorOptions) => {
@@ -225,7 +232,7 @@ declare type NormalizedOverrideOutput = {
225
232
  required?: boolean;
226
233
  baseUrl?: string;
227
234
  };
228
- header: false | ((info: InfoObject) => string[]);
235
+ header: false | ((info: InfoObject) => string[] | string);
229
236
  formData: boolean | NormalizedMutator;
230
237
  formUrlEncoded: boolean | NormalizedMutator;
231
238
  components: {
@@ -280,6 +287,7 @@ declare type OutputOptions = {
280
287
  prettier?: boolean;
281
288
  tslint?: boolean;
282
289
  tsconfig?: string | Tsconfig;
290
+ packageJson?: string;
283
291
  };
284
292
  declare type SwaggerParserOptions = Omit<SwaggerParser.Options, 'validate'> & {
285
293
  validate?: boolean;
@@ -298,6 +306,7 @@ declare const OutputClient: {
298
306
  AXIOS_FUNCTIONS: OutputClient;
299
307
  REACT_QUERY: OutputClient;
300
308
  SVELTE_QUERY: OutputClient;
309
+ VUE_QUERY: OutputClient;
301
310
  };
302
311
  declare type OutputMode = 'single' | 'split' | 'tags' | 'tags-split';
303
312
  declare const OutputMode: {
@@ -338,7 +347,7 @@ declare type OverrideOutput = {
338
347
  required?: boolean;
339
348
  baseUrl?: string;
340
349
  };
341
- header?: boolean | ((info: InfoObject) => string[]);
350
+ header?: boolean | ((info: InfoObject) => string[] | string);
342
351
  formData?: boolean | Mutator;
343
352
  formUrlEncoded?: boolean | Mutator;
344
353
  components?: {
@@ -406,6 +415,7 @@ interface ContextSpecs {
406
415
  specs: Record<string, OpenAPIObject>;
407
416
  override: NormalizedOverrideOutput;
408
417
  tsconfig?: Tsconfig;
418
+ packageJson?: PackageJson;
409
419
  }
410
420
  interface GlobalOptions {
411
421
  projectName?: string;
@@ -416,7 +426,8 @@ interface GlobalOptions {
416
426
  mock?: boolean;
417
427
  client?: OutputClient;
418
428
  mode?: OutputMode;
419
- tsconfig?: Tsconfig;
429
+ tsconfig?: string | Tsconfig;
430
+ packageJson?: string;
420
431
  }
421
432
  interface Tsconfig {
422
433
  baseUrl?: string;
@@ -426,6 +437,9 @@ interface Tsconfig {
426
437
  paths?: Record<string, string[]>;
427
438
  };
428
439
  }
440
+ interface PackageJson {
441
+ dependencies?: Record<string, string>;
442
+ }
429
443
 
430
444
  /**
431
445
  * Type helper to make it easier to use orval.config.ts
@@ -433,6 +447,90 @@ interface Tsconfig {
433
447
  */
434
448
  declare function defineConfig(options: ConfigExternal): ConfigExternal;
435
449
 
450
+ declare const generalJSTypes: string[];
451
+ declare const generalJSTypesWithArray: string[];
452
+ declare const VERBS_WITH_BODY: Verbs[];
453
+ declare const URL_REGEX: RegExp;
454
+
455
+ declare const generateImports: ({ imports, target, isRootKey, specsName, }: {
456
+ imports: GeneratorImport[];
457
+ target: string;
458
+ isRootKey: boolean;
459
+ specsName: Record<string, string>;
460
+ }) => string;
461
+ declare const generateMutatorImports: (mutators: GeneratorMutator[], oneMore?: boolean | undefined) => string;
462
+ declare const addDependency: ({ implementation, exports, dependency, specsName, hasSchemaDir, isAllowSyntheticDefaultImports, }: {
463
+ implementation: string;
464
+ exports: GeneratorImport[];
465
+ dependency: string;
466
+ specsName: Record<string, string>;
467
+ hasSchemaDir: boolean;
468
+ isAllowSyntheticDefaultImports: boolean;
469
+ }) => string | undefined;
470
+ declare const generateDependencyImports: (implementation: string, imports: {
471
+ exports: GeneratorImport[];
472
+ dependency: string;
473
+ }[], specsName: Record<string, string>, hasSchemaDir: boolean, isAllowSyntheticDefaultImports: boolean) => string;
474
+ declare const generateVerbImports: ({ response, body, queryParams, params, }: GeneratorVerbOptions) => GeneratorImport[];
475
+
476
+ declare const generateBodyOptions: (body: GetterBody, isFormData: boolean, isFormUrlEncoded: boolean) => string;
477
+ declare const generateAxiosOptions: (response: GetterResponse, queryParams?: GeneratorSchema | undefined, requestOptions?: boolean | object | undefined) => string;
478
+ declare const generateOptions: ({ route, body, queryParams, response, verb, requestOptions, isFormData, isFormUrlEncoded, isAngular, }: {
479
+ route: string;
480
+ body: GetterBody;
481
+ queryParams?: GetterQueryParam | undefined;
482
+ response: GetterResponse;
483
+ verb: Verbs;
484
+ requestOptions?: boolean | object | undefined;
485
+ isFormData: boolean;
486
+ isFormUrlEncoded: boolean;
487
+ isAngular?: boolean | undefined;
488
+ }) => string;
489
+ declare const generateBodyMutatorConfig: (body: GetterBody, isFormData: boolean, isFormUrlEncoded: boolean) => string;
490
+ declare const generateQueryParamsAxiosConfig: (response: GetterResponse, queryParams?: GeneratorSchema | undefined) => string;
491
+ declare const generateMutatorConfig: ({ route, body, queryParams, response, verb, isFormData, isFormUrlEncoded, isBodyVerb, hasSignal, }: {
492
+ route: string;
493
+ body: GetterBody;
494
+ queryParams?: GetterQueryParam | undefined;
495
+ response: GetterResponse;
496
+ verb: Verbs;
497
+ isFormData: boolean;
498
+ isFormUrlEncoded: boolean;
499
+ isBodyVerb: boolean;
500
+ hasSignal: boolean;
501
+ }) => string;
502
+ declare const generateMutatorRequestOptions: (requestOptions: boolean | object | undefined, hasSecondArgument: boolean) => string | undefined;
503
+ declare const generateFormDataAndUrlEncodedFunction: ({ body, formData, formUrlEncoded, isFormData, isFormUrlEncoded, }: {
504
+ body: GetterBody;
505
+ formData?: GeneratorMutator | undefined;
506
+ formUrlEncoded?: GeneratorMutator | undefined;
507
+ isFormData: boolean;
508
+ isFormUrlEncoded: boolean;
509
+ }) => string;
510
+
511
+ declare const loadTsconfig: (tsconfig?: string | Tsconfig | undefined, workspace?: string) => Promise<Tsconfig | undefined>;
512
+ declare const isSyntheticDefaultImportsAllow: (config?: Tsconfig | undefined) => boolean;
513
+
514
+ declare const stringify: (data?: string | any[] | {
515
+ [key: string]: any;
516
+ } | undefined) => string | undefined;
517
+ declare const sanitize: (value: string, options?: {
518
+ whitespace?: string | true | undefined;
519
+ underscore?: string | true | undefined;
520
+ dot?: string | true | undefined;
521
+ dash?: string | true | undefined;
522
+ es5keyword?: boolean | undefined;
523
+ } | undefined) => string;
524
+ declare const toObjectString: <T>(props: T[], path?: keyof T | undefined) => string;
525
+ declare const getNumberWord: (num: number) => string;
526
+ declare const escape: (str: string, char?: string) => string;
527
+
528
+ declare const pascal: (s: string) => string;
529
+ declare const camel: (s: string) => string;
530
+ declare const snake: (s: string) => string;
531
+ declare const kebab: (s: string) => string;
532
+ declare const upper: (s: string, fillWith?: string | undefined, isDeapostrophe?: boolean | undefined) => string;
533
+
436
534
  declare const generate: (optionsExport?: string | OptionsExport | undefined, workspace?: string, options?: GlobalOptions | undefined) => Promise<void>;
437
535
 
438
- export { ClientBuilder, ClientDependenciesBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMSWBuilder, ClientTitleBuilder, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, Options, generate as default, defineConfig, generate };
536
+ export { ClientBuilder, ClientDependenciesBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMSWBuilder, ClientTitleBuilder, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, Options, URL_REGEX, VERBS_WITH_BODY, addDependency, camel, generate as default, defineConfig, escape, generalJSTypes, generalJSTypesWithArray, generate, generateAxiosOptions, generateBodyMutatorConfig, generateBodyOptions, generateDependencyImports, generateFormDataAndUrlEncodedFunction, generateImports, generateMutatorConfig, generateMutatorImports, generateMutatorRequestOptions, generateOptions, generateQueryParamsAxiosConfig, generateVerbImports, getNumberWord, isSyntheticDefaultImportsAllow, kebab, loadTsconfig, pascal, sanitize, snake, stringify, toObjectString, upper };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkDKPBKVU7js = require('./chunk-DKPBKVU7.js');_chunkDKPBKVU7js.b.call(void 0, );var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);_chunkDKPBKVU7js.b.call(void 0, );var c=async(r,o=process.cwd(),e)=>{if(!r||_chunkDKPBKVU7js.c.call(void 0, r))return _chunkDKPBKVU7js.j.call(void 0, r,e);let n=await _chunkDKPBKVU7js.g.call(void 0, r,o,e);if(e==null?void 0:e.watch)_chunkDKPBKVU7js.h.call(void 0, e==null?void 0:e.watch,async()=>{try{await _chunkDKPBKVU7js.i.call(void 0, o,n)}catch(a){_chunkDKPBKVU7js.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${a}`))}},n.input.target);else try{return await _chunkDKPBKVU7js.i.call(void 0, o,n)}catch(a){_chunkDKPBKVU7js.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${(e==null?void 0:e.projectName)?`${e==null?void 0:e.projectName} - `:""}${a}`))}};var S=c;exports.default = S; exports.defineConfig = _chunkDKPBKVU7js.f; exports.generate = c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkRWT44D3Mjs = require('./chunk-RWT44D3M.js');_chunkRWT44D3Mjs.b.call(void 0, );var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);_chunkRWT44D3Mjs.b.call(void 0, );var c=async(r,o=process.cwd(),e)=>{if(!r||_chunkRWT44D3Mjs.c.call(void 0, r))return _chunkRWT44D3Mjs.M.call(void 0, r,e);let n=await _chunkRWT44D3Mjs.H.call(void 0, r,o,e);if(e!=null&&e.watch)_chunkRWT44D3Mjs.K.call(void 0, e==null?void 0:e.watch,async()=>{try{await _chunkRWT44D3Mjs.L.call(void 0, o,n)}catch(a){_chunkRWT44D3Mjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${e!=null&&e.projectName?`${e==null?void 0:e.projectName} - `:""}${a}`))}},n.input.target);else try{return await _chunkRWT44D3Mjs.L.call(void 0, o,n)}catch(a){_chunkRWT44D3Mjs.d.call(void 0, _chalk2.default.red(`\u{1F6D1} ${e!=null&&e.projectName?`${e==null?void 0:e.projectName} - `:""}${a}`))}};var re=c;exports.URL_REGEX = _chunkRWT44D3Mjs.s; exports.VERBS_WITH_BODY = _chunkRWT44D3Mjs.r; exports.addDependency = _chunkRWT44D3Mjs.v; exports.camel = _chunkRWT44D3Mjs.g; exports.default = re; exports.defineConfig = _chunkRWT44D3Mjs.G; exports.escape = _chunkRWT44D3Mjs.o; exports.generalJSTypes = _chunkRWT44D3Mjs.p; exports.generalJSTypesWithArray = _chunkRWT44D3Mjs.q; exports.generate = c; exports.generateAxiosOptions = _chunkRWT44D3Mjs.z; exports.generateBodyMutatorConfig = _chunkRWT44D3Mjs.B; exports.generateBodyOptions = _chunkRWT44D3Mjs.y; exports.generateDependencyImports = _chunkRWT44D3Mjs.w; exports.generateFormDataAndUrlEncodedFunction = _chunkRWT44D3Mjs.F; exports.generateImports = _chunkRWT44D3Mjs.t; exports.generateMutatorConfig = _chunkRWT44D3Mjs.D; exports.generateMutatorImports = _chunkRWT44D3Mjs.u; exports.generateMutatorRequestOptions = _chunkRWT44D3Mjs.E; exports.generateOptions = _chunkRWT44D3Mjs.A; exports.generateQueryParamsAxiosConfig = _chunkRWT44D3Mjs.C; exports.generateVerbImports = _chunkRWT44D3Mjs.x; exports.getNumberWord = _chunkRWT44D3Mjs.n; exports.isSyntheticDefaultImportsAllow = _chunkRWT44D3Mjs.J; exports.kebab = _chunkRWT44D3Mjs.i; exports.loadTsconfig = _chunkRWT44D3Mjs.I; exports.pascal = _chunkRWT44D3Mjs.f; exports.sanitize = _chunkRWT44D3Mjs.l; exports.snake = _chunkRWT44D3Mjs.h; exports.stringify = _chunkRWT44D3Mjs.k; exports.toObjectString = _chunkRWT44D3Mjs.m; exports.upper = _chunkRWT44D3Mjs.j;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "orval",
3
3
  "description": "A swagger client generator for typescript",
4
- "version": "6.6.4",
4
+ "version": "6.8.0",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist"
@@ -45,7 +45,8 @@
45
45
  "dev": "tsup ./src/bin/orval.ts ./src/index.ts --clean --watch src --onSuccess 'yarn generate-api'",
46
46
  "lint": "eslint src/**/*.ts",
47
47
  "test": "vitest --global test.ts",
48
- "format": "prettier --write 'src/**/*.{js,ts}'",
48
+ "format": "prettier --write .",
49
+ "format:staged": "pretty-quick --staged",
49
50
  "prerelease": "yarn build && cd ./tests && yarn generate && yarn build",
50
51
  "release": "dotenv release-it",
51
52
  "postrelease": "yarn build && yarn update-samples",
@@ -55,12 +56,12 @@
55
56
  "update-samples": "zx ./scripts/update-samples.mjs"
56
57
  },
57
58
  "devDependencies": {
58
- "@commitlint/cli": "^15.0.0",
59
- "@commitlint/config-conventional": "^15.0.0",
60
- "@release-it/conventional-changelog": "^3.3.0",
59
+ "@commitlint/cli": "^16.2.1",
60
+ "@commitlint/config-conventional": "^16.2.1",
61
+ "@faker-js/faker": "^6.1.1",
62
+ "@release-it/conventional-changelog": "^4.2.0",
61
63
  "@types/chalk": "^2.2.0",
62
64
  "@types/commander": "^2.12.2",
63
- "@types/faker": "^5.5.8",
64
65
  "@types/fs-extra": "^9.0.12",
65
66
  "@types/inquirer": "^8.2.0",
66
67
  "@types/lodash.get": "^4.4.6",
@@ -70,27 +71,27 @@
70
71
  "@types/lodash.uniqby": "^4.7.6",
71
72
  "@types/lodash.uniqwith": "^4.5.6",
72
73
  "@types/micromatch": "^4.0.2",
73
- "@types/node": "^17.0.18",
74
+ "@types/node": "^17.0.21",
74
75
  "@types/prettier": "^2.4.4",
75
76
  "@types/request": "^2.48.8",
76
77
  "@types/validator": "^13.7.1",
77
- "@typescript-eslint/eslint-plugin": "^5.12.0",
78
- "@typescript-eslint/parser": "^5.12.0",
78
+ "@typescript-eslint/eslint-plugin": "^5.14.0",
79
+ "@typescript-eslint/parser": "^5.14.0",
79
80
  "dotenv-cli": "^4.0.0",
80
- "eslint": "^8.9.0",
81
- "eslint-config-prettier": "^8.3.0",
81
+ "eslint": "^8.10.0",
82
+ "eslint-config-prettier": "^8.5.0",
82
83
  "eslint-plugin-prettier": "^4.0.0",
83
- "faker": "^5.5.3",
84
84
  "husky": "^7.0.2",
85
- "lint-staged": "^12.1.2",
85
+ "lint-staged": "^12.3.5",
86
86
  "npm-run-all": "^4.1.5",
87
- "prettier": "^2.5.1",
88
- "release-it": "^14.12.4",
87
+ "prettier": "2.6.2",
88
+ "pretty-quick": "^3.1.3",
89
+ "release-it": "^14.12.5",
89
90
  "rimraf": "^3.0.2",
90
- "tsup": "^5.11.13",
91
- "typescript": "^4.5.5",
92
- "vitest": "^0.3.6",
93
- "zx": "^4.2.0"
91
+ "tsup": "^5.12.0",
92
+ "typescript": "^4.6.2",
93
+ "vitest": "^0.6.0",
94
+ "zx": "^5.2.0"
94
95
  },
95
96
  "dependencies": {
96
97
  "@apidevtools/swagger-parser": "^10.0.3",
@@ -98,15 +99,16 @@
98
99
  "cac": "^6.7.12",
99
100
  "chalk": "^4.1.2",
100
101
  "chokidar": "^3.5.3",
102
+ "compare-versions": "^4.1.3",
101
103
  "cuid": "^2.1.8",
102
104
  "debug": "^4.3.3",
103
- "esbuild": "^0.13.15",
105
+ "esbuild": "^0.14.25",
104
106
  "esutils": "2.0.3",
105
107
  "execa": "^5.1.1",
106
108
  "find-up": "5.0.0",
107
- "fs-extra": "^10.0.0",
109
+ "fs-extra": "^10.0.1",
108
110
  "globby": "11.0.4",
109
- "ibm-openapi-validator": "^0.57.0",
111
+ "ibm-openapi-validator": "^0.57.4",
110
112
  "inquirer": "^8.2.0",
111
113
  "lodash.get": "^4.4.2",
112
114
  "lodash.omit": "^4.5.0",
@@ -117,7 +119,7 @@
117
119
  "micromatch": "^4.0.4",
118
120
  "openapi3-ts": "^2.0.2",
119
121
  "swagger2openapi": "^7.0.8",
120
- "tsconfck": "^1.1.2",
122
+ "tsconfck": "^1.2.0",
121
123
  "upath": "^2.0.1",
122
124
  "url": "^0.11.0",
123
125
  "validator": "^13.7.0"