@openapi-qraft/cli 2.12.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,23 @@
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
+
3
21
  ## 2.12.0
4
22
 
5
23
  ### Minor Changes
@@ -364,13 +382,11 @@
364
382
  include all path parts and parameters, and the structure can be customized based on the `--service-name-base` value.
365
383
 
366
384
  **Breaking Changes:**
367
-
368
385
  - Operation names now include all path parts and parameters by default.
369
386
  - `/api/v{api-version}` is no longer automatically removed from the path when generating operation names.
370
387
  - The `--service-name-base` option now influences the generated operation names with a new structure.
371
388
 
372
389
  **Examples:**
373
-
374
390
  - With `--service-name-base=endpoint[0]`:
375
391
  `POST /v1/users/{id}` → `api.v1.postUsersId`
376
392
  - With `--service-name-base=endpoint[1]`:
@@ -522,13 +538,11 @@
522
538
  include all path parts and parameters, and the structure can be customized based on the `--service-name-base` value.
523
539
 
524
540
  **Breaking Changes:**
525
-
526
541
  - Operation names now include all path parts and parameters by default.
527
542
  - `/api/v{api-version}` is no longer automatically removed from the path when generating operation names.
528
543
  - The `--service-name-base` option now influences the generated operation names with a new structure.
529
544
 
530
545
  **Examples:**
531
-
532
546
  - With `--service-name-base=endpoint[0]`:
533
547
  `POST /v1/users/{id}` → `api.v1.postUsersId`
534
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.12.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,18 +15,19 @@
15
15
  "openapi-qraft": "./bin.mjs"
16
16
  },
17
17
  "dependencies": {
18
- "@openapi-qraft/openapi-typescript-plugin": "2.12.0",
19
- "@openapi-qraft/plugin": "2.12.0",
20
- "@openapi-qraft/tanstack-query-react-plugin": "2.12.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
+ "vitest": "^3.2.4"
30
31
  },
31
32
  "files": [
32
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
+ }