@openapi-qraft/cli 2.12.0 → 2.14.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,32 @@
1
1
  # @openapi-qraft/cli
2
2
 
3
+ ## 2.14.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [3a7f9e1]
8
+ - @openapi-qraft/tanstack-query-react-plugin@2.14.0
9
+ - @openapi-qraft/plugin@2.14.0
10
+ - @openapi-qraft/openapi-typescript-plugin@2.14.0
11
+
12
+ ## 2.13.0
13
+
14
+ ### Minor Changes
15
+
16
+ - 79ec773: Deprecate `-rm` CLI option in favor of `-c` for `--clean` flag.
17
+
18
+ The `-rm` short flag for the `--clean` option has been deprecated due to commander.js v14 requiring single-character
19
+ short flags. The option will continue to work but will show a deprecation warning. Please migrate to using `-c` or
20
+ `--clean` instead. The `-rm` flag will be removed in v3.0.
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [58cf835]
25
+ - Updated dependencies [eafe0b0]
26
+ - @openapi-qraft/tanstack-query-react-plugin@2.13.0
27
+ - @openapi-qraft/openapi-typescript-plugin@2.13.0
28
+ - @openapi-qraft/plugin@2.13.0
29
+
3
30
  ## 2.12.0
4
31
 
5
32
  ### Minor Changes
@@ -364,13 +391,11 @@
364
391
  include all path parts and parameters, and the structure can be customized based on the `--service-name-base` value.
365
392
 
366
393
  **Breaking Changes:**
367
-
368
394
  - Operation names now include all path parts and parameters by default.
369
395
  - `/api/v{api-version}` is no longer automatically removed from the path when generating operation names.
370
396
  - The `--service-name-base` option now influences the generated operation names with a new structure.
371
397
 
372
398
  **Examples:**
373
-
374
399
  - With `--service-name-base=endpoint[0]`:
375
400
  `POST /v1/users/{id}` → `api.v1.postUsersId`
376
401
  - With `--service-name-base=endpoint[1]`:
@@ -522,13 +547,11 @@
522
547
  include all path parts and parameters, and the structure can be customized based on the `--service-name-base` value.
523
548
 
524
549
  **Breaking Changes:**
525
-
526
550
  - Operation names now include all path parts and parameters by default.
527
551
  - `/api/v{api-version}` is no longer automatically removed from the path when generating operation names.
528
552
  - The `--service-name-base` option now influences the generated operation names with a new structure.
529
553
 
530
554
  **Examples:**
531
-
532
555
  - With `--service-name-base=endpoint[0]`:
533
556
  `POST /v1/users/{id}` → `api.v1.postUsersId`
534
557
  - 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.14.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.14.0",
19
+ "@openapi-qraft/plugin": "2.14.0",
20
+ "@openapi-qraft/tanstack-query-react-plugin": "2.14.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
+ }