@openapi-qraft/cli 2.11.0 → 2.13.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/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # @openapi-qraft/cli
2
2
 
3
+ ## 2.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 79ec773: Deprecate `-rm` CLI option in favor of `-c` for `--clean` flag.
8
+
9
+ The `-rm` short flag for the `--clean` option has been deprecated due to commander.js v14 requiring single-character
10
+ short flags. The option will continue to work but will show a deprecation warning. Please migrate to using `-c` or
11
+ `--clean` instead. The `-rm` flag will be removed in v3.0.
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [58cf835]
16
+ - Updated dependencies [eafe0b0]
17
+ - @openapi-qraft/tanstack-query-react-plugin@2.13.0
18
+ - @openapi-qraft/openapi-typescript-plugin@2.13.0
19
+ - @openapi-qraft/plugin@2.13.0
20
+
21
+ ## 2.12.0
22
+
23
+ ### Minor Changes
24
+
25
+ - cdc4bf3: Resolve unmet peerDependencies.
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies [cdc4bf3]
30
+ - Updated dependencies [5430c32]
31
+ - @openapi-qraft/tanstack-query-react-plugin@2.12.0
32
+ - @openapi-qraft/openapi-typescript-plugin@2.12.0
33
+ - @openapi-qraft/plugin@2.12.0
34
+
3
35
  ## 2.11.0
4
36
 
5
37
  ### Patch Changes
@@ -350,13 +382,11 @@
350
382
  include all path parts and parameters, and the structure can be customized based on the `--service-name-base` value.
351
383
 
352
384
  **Breaking Changes:**
353
-
354
385
  - Operation names now include all path parts and parameters by default.
355
386
  - `/api/v{api-version}` is no longer automatically removed from the path when generating operation names.
356
387
  - The `--service-name-base` option now influences the generated operation names with a new structure.
357
388
 
358
389
  **Examples:**
359
-
360
390
  - With `--service-name-base=endpoint[0]`:
361
391
  `POST /v1/users/{id}` → `api.v1.postUsersId`
362
392
  - With `--service-name-base=endpoint[1]`:
@@ -508,13 +538,11 @@
508
538
  include all path parts and parameters, and the structure can be customized based on the `--service-name-base` value.
509
539
 
510
540
  **Breaking Changes:**
511
-
512
541
  - Operation names now include all path parts and parameters by default.
513
542
  - `/api/v{api-version}` is no longer automatically removed from the path when generating operation names.
514
543
  - The `--service-name-base` option now influences the generated operation names with a new structure.
515
544
 
516
545
  **Examples:**
517
-
518
546
  - With `--service-name-base=endpoint[0]`:
519
547
  `POST /v1/users/{id}` → `api.v1.postUsersId`
520
548
  - With `--service-name-base=endpoint[1]`:
package/README.md CHANGED
@@ -28,7 +28,7 @@ Arguments:
28
28
 
29
29
  Options:
30
30
  -o, --output-dir <path> Output directory for generated services
31
- -rm, --clean Clean output directory before generating services
31
+ -c, --clean Clean output directory before generating services
32
32
  --filter-services <glob-patterns...> Filter services to be generated using glob patterns. Example: "/user/**,/post/**". For more details, see the NPM `micromatch` package documentation.
33
33
  --operation-predefined-parameters <patterns...> Predefined parameters for services. The specified service parameters will be optional. Example: "/**:header.x-monite-version,query.x-api-key" or
34
34
  "get /**:header.x-monite-entity-id"
@@ -93,7 +93,7 @@ npx openapi-qraft --plugin tanstack-query-react --plugin openapi-typescript http
93
93
 
94
94
  ### Edge-case Options
95
95
 
96
- - **`-rm, --clean`:** Clean the specified output directory services before generating to remove stale files _(optional)_.
96
+ - **`-c, --clean`:** Clean the specified output directory services before generating to remove stale files _(optional)_.
97
97
  - **`--filter-services <glob-patterns...>`:** Filter services to be generated by glob pattern _(optional)_.
98
98
  - **Pattern syntax:**
99
99
  - `<glob-pattern>,<glob-pattern>,...` - comma-separated list of glob patterns. See [`micromatch`](https://github.com/micromatch/micromatch)
package/dist/bin.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAIA,OAAO,EAAU,YAAY,EAAE,MAAM,WAAW,CAAC;AAGjD,wBAAsB,IAAI,CACxB,WAAW,EAAE,MAAM,EAAE,EACrB,uBAAuB,CAAC,EAAE,YAAY,iBAWvC;AAkED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE;;;;;;EA6BtD"}
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAIA,OAAO,EAAU,YAAY,EAAE,MAAM,WAAW,CAAC;AAIjD,wBAAsB,IAAI,CACxB,WAAW,EAAE,MAAM,EAAE,EACrB,uBAAuB,CAAC,EAAE,YAAY,iBAavC;AAkED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE;;;;;;EA6BtD"}
package/dist/bin.js CHANGED
@@ -3,11 +3,13 @@ import { QraftCommand } from '@openapi-qraft/plugin';
3
3
  import { RedoclyConfigCommand } from '@openapi-qraft/plugin/lib/RedoclyConfigCommand';
4
4
  import { Option } from 'commander';
5
5
  import { builtInPlugins } from './builtInPlugins.js';
6
+ import { handleDeprecatedOptions } from './handleDeprecatedOptions.js';
6
7
  export async function main(processArgv, processArgvParseOptions) {
7
- const redoclyConfigParseResult = await new RedoclyConfigCommand().parseConfig(qraft, processArgv, processArgvParseOptions);
8
+ const argv = handleDeprecatedOptions(processArgv);
9
+ const redoclyConfigParseResult = await new RedoclyConfigCommand().parseConfig(qraft, argv, processArgvParseOptions);
8
10
  if (redoclyConfigParseResult?.length)
9
11
  return;
10
- await qraft(processArgv, processArgvParseOptions);
12
+ await qraft(argv, processArgvParseOptions);
11
13
  }
12
14
  async function qraft(processArgv, processArgvParseOptions) {
13
15
  const command = new QraftCommand();
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function handleDeprecatedOptions(argv: string[]): string[];
2
+ //# sourceMappingURL=handleDeprecatedOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDeprecatedOptions.d.ts","sourceRoot":"","sources":["../src/handleDeprecatedOptions.ts"],"names":[],"mappings":"AAMA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAahE"}
@@ -0,0 +1,15 @@
1
+ import c from 'ansi-colors';
2
+ const deprecatedOptionsMap = {
3
+ '-rm': { replacement: '-c' },
4
+ };
5
+ export function handleDeprecatedOptions(argv) {
6
+ return argv.map((arg) => {
7
+ const deprecated = deprecatedOptionsMap[arg];
8
+ if (deprecated) {
9
+ console.warn(c.yellow(`⚠ Option '${arg}' is deprecated and will be removed in v3.0. Please use '${deprecated.replacement}' instead.`));
10
+ return deprecated.replacement;
11
+ }
12
+ return arg;
13
+ });
14
+ }
15
+ //# sourceMappingURL=handleDeprecatedOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDeprecatedOptions.js","sourceRoot":"","sources":["../src/handleDeprecatedOptions.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,aAAa,CAAC;AAE5B,MAAM,oBAAoB,GAA4C;IACpE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;CAC7B,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,IAAc;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,MAAM,CACN,aAAa,GAAG,4DAA4D,UAAU,CAAC,WAAW,YAAY,CAC/G,CACF,CAAC;YACF,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/cli",
3
- "version": "2.11.0",
3
+ "version": "2.13.0",
4
4
  "description": "CLI for generating typed TanStack Query React Hooks and services from OpenAPI Document, improving type safety in React apps",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
@@ -15,21 +15,19 @@
15
15
  "openapi-qraft": "./bin.mjs"
16
16
  },
17
17
  "dependencies": {
18
- "@openapi-qraft/openapi-typescript-plugin": "1.2.29",
19
- "@openapi-qraft/plugin": "2.11.0",
20
- "@openapi-qraft/tanstack-query-react-plugin": "2.11.0",
21
- "commander": "^11.1.0"
18
+ "@openapi-qraft/openapi-typescript-plugin": "2.13.0",
19
+ "@openapi-qraft/plugin": "2.13.0",
20
+ "@openapi-qraft/tanstack-query-react-plugin": "2.13.0",
21
+ "ansi-colors": "^4.1.3",
22
+ "commander": "^14.0.2"
22
23
  },
23
24
  "devDependencies": {
24
25
  "@openapi-qraft/eslint-config": "1.0.1",
25
26
  "@types/node": "^20.16.5",
26
- "eslint": "^9.24.0",
27
- "rimraf": "^5.0.10",
27
+ "eslint": "^9.39.1",
28
+ "rimraf": "^6.1.2",
28
29
  "typescript": "^5.6.2",
29
- "vitest": "^3.0.5"
30
- },
31
- "peerDependencies": {
32
- "ansi-colors": "^4.1.3"
30
+ "vitest": "^3.2.4"
33
31
  },
34
32
  "files": [
35
33
  "dist",
package/src/bin.ts CHANGED
@@ -4,20 +4,23 @@ import { QraftCommand } from '@openapi-qraft/plugin';
4
4
  import { RedoclyConfigCommand } from '@openapi-qraft/plugin/lib/RedoclyConfigCommand';
5
5
  import { Option, ParseOptions } from 'commander';
6
6
  import { builtInPlugins } from './builtInPlugins.js';
7
+ import { handleDeprecatedOptions } from './handleDeprecatedOptions.js';
7
8
 
8
9
  export async function main(
9
10
  processArgv: string[],
10
11
  processArgvParseOptions?: ParseOptions
11
12
  ) {
13
+ const argv = handleDeprecatedOptions(processArgv);
14
+
12
15
  const redoclyConfigParseResult = await new RedoclyConfigCommand().parseConfig(
13
16
  qraft,
14
- processArgv,
17
+ argv,
15
18
  processArgvParseOptions
16
19
  );
17
20
 
18
21
  if (redoclyConfigParseResult?.length) return;
19
22
 
20
- await qraft(processArgv, processArgvParseOptions);
23
+ await qraft(argv, processArgvParseOptions);
21
24
  }
22
25
 
23
26
  async function qraft(
@@ -0,0 +1,20 @@
1
+ import c from 'ansi-colors';
2
+
3
+ const deprecatedOptionsMap: Record<string, { replacement: string }> = {
4
+ '-rm': { replacement: '-c' },
5
+ };
6
+
7
+ export function handleDeprecatedOptions(argv: string[]): string[] {
8
+ return argv.map((arg) => {
9
+ const deprecated = deprecatedOptionsMap[arg];
10
+ if (deprecated) {
11
+ console.warn(
12
+ c.yellow(
13
+ `⚠ Option '${arg}' is deprecated and will be removed in v3.0. Please use '${deprecated.replacement}' instead.`
14
+ )
15
+ );
16
+ return deprecated.replacement;
17
+ }
18
+ return arg;
19
+ });
20
+ }