@redocly/cli 2.51.2 → 2.52.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.
Files changed (103) hide show
  1. package/README.md +14 -1
  2. package/THIRD_PARTY_NOTICES +18 -5
  3. package/lib/chunks/{QYUMGE2L.js → 43FMQGIC.js} +1 -1
  4. package/lib/chunks/{YUQGMTD4.js → 4XWI7J57.js} +352 -339
  5. package/lib/chunks/{ITXYN4EV.js → AGENG2WT.js} +1 -1
  6. package/lib/chunks/{V3JDIYRX.js → ANMFTH7J.js} +1 -1
  7. package/lib/chunks/{RBQSJMUA.js → AOOXKVZ6.js} +1 -1
  8. package/lib/chunks/{CHYVBQIC.js → B4BGW6LX.js} +1 -1
  9. package/lib/chunks/{AEUD4DDQ.js → BT6KOTWJ.js} +1 -1
  10. package/lib/chunks/{H7GBQYOQ.js → BWQB4GUQ.js} +1 -1
  11. package/lib/chunks/{P6UQ46OM.js → DDB52L66.js} +1 -1
  12. package/lib/chunks/{T22N7JRE.js → E44UEWCI.js} +1 -1
  13. package/lib/chunks/{NEUHMRVX.js → F7TVQGKE.js} +2 -2
  14. package/lib/chunks/{UJ7OYRJC.js → GCM2GVOB.js} +1 -1
  15. package/lib/chunks/{MA3DQUED.js → GNCL6OYK.js} +1 -1
  16. package/lib/chunks/{BFHO7GW5.js → IBTEY2L5.js} +1 -1
  17. package/lib/chunks/{OHW62OX6.js → JCEAJTUA.js} +1 -1
  18. package/lib/chunks/{W62WTKL6.js → KMCWK6TG.js} +1 -1
  19. package/lib/chunks/{TMUDD3AQ.js → KTY2NT6E.js} +1 -1
  20. package/lib/chunks/{O6PRCLSV.js → KXHIHQWX.js} +6 -6
  21. package/lib/chunks/{SK7RTQX6.js → M7QRMIWR.js} +1 -1
  22. package/lib/chunks/MJSI4VHA.js +184 -0
  23. package/lib/chunks/{D6R7VN2E.js → MTD74D7D.js} +1 -1
  24. package/lib/chunks/{YOD7FLHY.js → N2CTYNAN.js} +1 -1
  25. package/lib/chunks/{ONCO376P.js → NIDDLLHO.js} +1 -1
  26. package/lib/chunks/{WSWUTUN2.js → NOI562GM.js} +1 -1
  27. package/lib/chunks/{XA64NLCK.js → O3T4DGBI.js} +1 -1
  28. package/lib/chunks/{C2P2K3EL.js → OTGTOSNW.js} +1 -1
  29. package/lib/chunks/{F2OX5CFF.js → P3CVK7VZ.js} +1 -1
  30. package/lib/chunks/{JGDGNU3W.js → RUPZTXQ3.js} +1 -1
  31. package/lib/chunks/{HJBZSEOJ.js → SEECFWS6.js} +1 -1
  32. package/lib/chunks/{2QB2GQK4.js → T5KTLVAZ.js} +1 -1
  33. package/lib/chunks/{57HELKSP.js → TWYMGTRR.js} +1 -1
  34. package/lib/chunks/{YHUS4LA4.js → U3LG2XZJ.js} +1 -1
  35. package/lib/chunks/{POEVQHCC.js → WNOJ33NP.js} +1 -1
  36. package/lib/chunks/{W7NMFHT5.js → WNU6CBDY.js} +1 -1
  37. package/lib/chunks/{DV6O45KM.js → X4ZTHKYE.js} +1 -1
  38. package/lib/chunks/XMISXGL7.js +105 -0
  39. package/lib/chunks/{HTZLTEUF.js → YDCOQ3IQ.js} +1 -1
  40. package/lib/chunks/{OHIVXMXU.js → YMON5AYA.js} +1 -1
  41. package/lib/chunks/YVY7OG3K.js +7 -0
  42. package/lib/chunks/{D3EE6JIC.js → Z3H5BHVF.js} +1 -1
  43. package/lib/chunks/{5FCIOXHF.js → Z56NVT3C.js} +1 -1
  44. package/lib/chunks/{75JBXLYL.js → ZAZG6Z4J.js} +1 -1
  45. package/lib/chunks/{D2LIZR7C.js → ZGSX24WO.js} +1 -1
  46. package/lib/chunks/{VZNKVS6Q.js → ZQYHXXTF.js} +1 -1
  47. package/lib/chunks/{JW436AQL.js → ZXPLB4LA.js} +1 -1
  48. package/lib/eject-assets/generators/cli/docs.ts +1 -1
  49. package/lib/eject-assets/generators/cli/engine-source.ts +1 -1
  50. package/lib/eject-assets/generators/cli/index.ts +2 -2
  51. package/lib/eject-assets/generators/cli/render.ts +1 -1
  52. package/lib/eject-assets/generators/go/client.ts +1 -1
  53. package/lib/eject-assets/generators/go/descriptor.ts +1 -1
  54. package/lib/eject-assets/generators/go/index.ts +2 -2
  55. package/lib/eject-assets/generators/go/models.ts +1 -1
  56. package/lib/eject-assets/generators/go/naming.ts +1 -1
  57. package/lib/eject-assets/generators/go/operations.ts +1 -1
  58. package/lib/eject-assets/generators/go/pagination.ts +1 -1
  59. package/lib/eject-assets/generators/go/types.ts +1 -1
  60. package/lib/eject-assets/generators/mock/faker.ts +1 -1
  61. package/lib/eject-assets/generators/mock/index.ts +2 -2
  62. package/lib/eject-assets/generators/mock/render.ts +1 -1
  63. package/lib/eject-assets/generators/mock/sample.ts +1 -1
  64. package/lib/eject-assets/generators/mock/values.ts +1 -1
  65. package/lib/eject-assets/generators/php/client.ts +1 -1
  66. package/lib/eject-assets/generators/php/descriptor.ts +1 -1
  67. package/lib/eject-assets/generators/php/index.ts +2 -2
  68. package/lib/eject-assets/generators/php/models.ts +1 -1
  69. package/lib/eject-assets/generators/php/naming.ts +1 -1
  70. package/lib/eject-assets/generators/php/operations.ts +1 -1
  71. package/lib/eject-assets/generators/php/pagination.ts +1 -1
  72. package/lib/eject-assets/generators/php/types.ts +1 -1
  73. package/lib/eject-assets/generators/python/client.ts +1 -1
  74. package/lib/eject-assets/generators/python/descriptor.ts +1 -1
  75. package/lib/eject-assets/generators/python/index.ts +2 -2
  76. package/lib/eject-assets/generators/python/models.ts +1 -1
  77. package/lib/eject-assets/generators/python/naming.ts +1 -1
  78. package/lib/eject-assets/generators/python/operations.ts +1 -1
  79. package/lib/eject-assets/generators/python/pagination.ts +1 -1
  80. package/lib/eject-assets/generators/python/types.ts +1 -1
  81. package/lib/eject-assets/generators/swr/index.ts +2 -2
  82. package/lib/eject-assets/generators/swr/render.ts +1 -1
  83. package/lib/eject-assets/generators/tanstack-query/index.ts +2 -2
  84. package/lib/eject-assets/generators/tanstack-query/render.ts +1 -1
  85. package/lib/eject-assets/generators/transformers/index.ts +2 -2
  86. package/lib/eject-assets/generators/transformers/render.ts +1 -1
  87. package/lib/eject-assets/generators/typescript/banner.ts +1 -1
  88. package/lib/eject-assets/generators/typescript/client.ts +1 -1
  89. package/lib/eject-assets/generators/typescript/descriptor.ts +1 -1
  90. package/lib/eject-assets/generators/typescript/index.ts +2 -2
  91. package/lib/eject-assets/generators/typescript/inline-runtime.ts +1 -1
  92. package/lib/eject-assets/generators/typescript/operation-signature.ts +1 -1
  93. package/lib/eject-assets/generators/typescript/operation-types.ts +1 -1
  94. package/lib/eject-assets/generators/typescript/operations.ts +1 -1
  95. package/lib/eject-assets/generators/typescript/response-headers.ts +1 -1
  96. package/lib/eject-assets/generators/typescript/type-guards.ts +1 -1
  97. package/lib/eject-assets/generators/typescript/types.ts +1 -1
  98. package/lib/eject-assets/generators/zod/index.ts +2 -2
  99. package/lib/eject-assets/generators/zod/schemas.ts +1 -1
  100. package/lib/index.js +198 -191
  101. package/package.json +1 -1
  102. package/lib/chunks/ADW6GVRA.js +0 -7
  103. package/lib/chunks/ZMAMNQ5K.js +0 -184
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [@Redocly](https://redocly.com) CLI is your all-in-one API documentation utility.
4
4
  It builds, manages, improves, and quality-checks your API descriptions, all of which comes in handy for various phases of the API Lifecycle.
5
5
  Create your own rulesets to make API governance easy, publish beautiful API reference documentation, and more.
6
- Supports OpenAPI 3.2, 3.1, 3.0 and OpenAPI 2.0 (legacy Swagger), AsyncAPI 3.0 and 2.6, Arazzo 1.0.
6
+ Supports OpenAPI 3.x and 2.0 (legacy Swagger), AsyncAPI 3.x and 2.6, Arazzo 1.x, and more.
7
7
 
8
8
  ![build and test](https://github.com/redocly/redocly-cli/actions/workflows/tests.yaml/badge.svg)
9
9
  ![npm (scoped)](https://img.shields.io/npm/v/@redocly/cli)
@@ -54,6 +54,19 @@ docker build -t redocly/cli .
54
54
  docker run --rm -v $PWD:/spec redocly/cli lint path-to-root-file.yaml
55
55
  ```
56
56
 
57
+ ### Use with AI assistants
58
+
59
+ Redocly CLI ships [agent skills](./.claude/skills) that teach AI coding assistants how to work with the CLI.
60
+ Install them into your project:
61
+
62
+ ```sh
63
+ npx skills add https://redocly.com
64
+ ```
65
+
66
+ - `redocly-cli` — day-to-day usage: lint, bundle, decorate, build docs, test, and generate a client.
67
+ - `redocly-lint-rules` — turn a check written in plain language into a built-in rule, a configurable rule, or a custom plugin.
68
+ It also covers migrating rules from other linters, such as Spectral.
69
+
57
70
  ## Common tasks
58
71
 
59
72
  ### Generate API reference documentation
@@ -612,12 +612,15 @@ ISC
612
612
 
613
613
  Packages:
614
614
  cliui@7.0.4 — Copyright (c) 2015, Contributors
615
+ isexe@2.0.0 — Copyright (c) Isaac Z. Schlueter and Contributors
615
616
  minimatch@5.1.9 — Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
616
617
  picocolors@1.1.1 — Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
617
618
  semver@7.8.5 — Copyright (c) Isaac Z. Schlueter and Contributors
619
+ which@2.0.2 — Copyright (c) Isaac Z. Schlueter and Contributors
618
620
  y18n@5.0.8 — Copyright (c) 2015, Contributors
619
621
  yaml@2.9.0 — Copyright Eemeli Aro <eemeli@gmail.com>
620
622
  yargs-parser@20.2.9 — Copyright (c) 2016, Contributors
623
+ zod-to-json-schema@3.25.2 — Copyright (c) 2020, Stefan Terdell
621
624
 
622
625
  License text:
623
626
  Copyright Eemeli Aro <eemeli@gmail.com>
@@ -644,13 +647,14 @@ Packages:
644
647
  @emotion/is-prop-valid@1.4.0 — Copyright (c) Emotion team and other contributors
645
648
  @emotion/memoize@0.9.0 — Copyright (c) Emotion team and other contributors
646
649
  @faker-js/faker@10.6.0 — Copyright (c) 2022-2025
650
+ @modelcontextprotocol/sdk@1.30.0 — Copyright (c) 2024 Anthropic, PBC
647
651
  @noble/hashes@1.8.0 — Copyright (c) 2022 Paul Miller (https://paulmillr.com)
648
652
  @redocly/ajv@8.11.2 — Copyright (c) 2015-2021 Evgeny Poberezkin
649
653
  @redocly/ajv@8.18.3 — Copyright (c) 2015-2021 Evgeny Poberezkin
650
654
  @redocly/cli-otel@0.3.5 — Copyright 2025 Redocly Inc, all rights reserved.
651
655
  @redocly/config@0.22.0 — Copyright 2024 Redocly Inc.
652
- @redocly/config@0.55.0 — Copyright 2024 Redocly Inc.
653
- @redocly/openapi-core@1.34.19
656
+ @redocly/config@0.56.0 — Copyright 2024 Redocly Inc.
657
+ @redocly/openapi-core@1.34.20
654
658
  agent-base@7.1.4 — Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
655
659
  ajv-formats@3.0.1 — Copyright (c) 2020 Evgeny Poberezkin
656
660
  ajv@8.20.0 — Copyright (c) 2015-2021 Evgeny Poberezkin
@@ -665,10 +669,14 @@ Packages:
665
669
  color-name@1.1.4 — Copyright (c) 2015 Dmitry Ivanov
666
670
  colorette@1.4.0 — Copyright © Jorge Bucaran <<https://jorgebucaran.com>>
667
671
  colorette@2.0.20 — Copyright © Jorge Bucaran <<https://jorgebucaran.com>>
672
+ content-type@1.0.5 — Copyright (c) 2015 Douglas Christopher Wilson
668
673
  cookie@0.7.2 — Copyright (c) 2012-2014 Roman Shtylman <shtylman@gmail.com>
674
+ cross-spawn@7.0.6 — Copyright (c) 2018 Made With MOXY Lda <hello@moxy.studio>
669
675
  debug@4.4.3 — Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
670
676
  escalade@3.2.0
671
677
  eventemitter3@5.0.1 — Copyright (c) 2014 Arnout Kazemier
678
+ eventsource-parser@3.1.1 — Copyright (c) 2026 Espen Hovlandsdal <espen@hovlandsdal.com>
679
+ eventsource@3.0.7 — Copyright (c) EventSource GitHub organisation
672
680
  fast-deep-equal@3.1.3 — Copyright (c) 2017 Evgeny Poberezkin
673
681
  fast-safe-stringify@2.1.1 — Copyright (c) 2016 David Mark Clements
674
682
  foreach@2.0.6 — Copyright (c) 2013 Manuel Stofer
@@ -678,7 +686,7 @@ Packages:
678
686
  https-proxy-agent@7.0.6 — Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
679
687
  js-levenshtein@1.1.6 — Copyright (c) 2017 Gustaf Andersson
680
688
  js-tokens@4.0.0 — Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell
681
- js-yaml@4.3.1 — Copyright (C) 2011-2015 by Vitaly Puzrin
689
+ js-yaml@4.3.2 — Copyright (C) 2011-2015 by Vitaly Puzrin
682
690
  js-yaml@5.2.2 — Copyright (C) 2011-2015 by Vitaly Puzrin
683
691
  json-pointer@0.6.2 — Copyright (c) 2016 Manuel Stofer
684
692
  json-schema-traverse@1.0.0 — Copyright (c) 2017 Evgeny Poberezkin
@@ -691,10 +699,12 @@ Packages:
691
699
  mobx@6.12.3 — Copyright (c) 2015 Michel Weststrate
692
700
  ms@2.1.3
693
701
  object-assign@4.1.1
694
- openapi-sampler@1.7.4 — Copyright (c) 2017 Roman Hotsiy <gotsijroman@gmail.com>
702
+ openapi-sampler@1.7.5 — Copyright (c) 2017 Roman Hotsiy <gotsijroman@gmail.com>
695
703
  outdent@0.8.0 — Copyright (c) 2016 Andrew Bradley
704
+ path-key@3.1.1
696
705
  perfect-scrollbar@1.5.6 — Copyright (c) 2012-2019 Hyunje Jun, MDBootstrap.com and other contributors
697
706
  picomatch@4.0.4 — Copyright (c) 2017-present, Jon Schlinkert.
707
+ pkce-challenge@5.0.1 — Copyright (c) 2019
698
708
  pluralize@8.0.0 — Copyright (c) 2013 Blake Embrey (hello@blakeembrey.com)
699
709
  polished@4.3.1 — Copyright (c) 2016-Present Brian Hough and Maximilian Stoiber
700
710
  prismjs@1.30.0 — Copyright (c) 2012 Lea Verou
@@ -703,8 +713,10 @@ Packages:
703
713
  react-is@16.13.1 — Copyright (c) Facebook, Inc. and its affiliates.
704
714
  react-tabs@6.1.1 — Copyright (c) Matt Zabriskie and Daniel Tschinder
705
715
  react@19.2.7 — Copyright (c) Meta Platforms, Inc. and affiliates.
706
- redoc@2.5.3 — Copyright (c) 2015-present, Rebilly, Inc.
716
+ redoc@2.5.4 — Copyright (c) 2015-present, Rebilly, Inc.
707
717
  set-cookie-parser@2.7.1 — Copyright (c) 2015 Nathan Friedly <nathan@nfriedly.com> (http://nfriedly.com/)
718
+ shebang-command@2.0.0
719
+ shebang-regex@3.0.0
708
720
  slugify@1.4.7 — Copyright (c) Simeon Velichkov <simeonvelichkov@gmail.com>
709
721
  styled-components@6.4.2 — Copyright (c) 2016-present Glen Maddern and Maximilian Stoiber
710
722
  stylis@4.3.6 — Copyright (c) 2016-present Sultan Tarimo
@@ -715,6 +727,7 @@ Packages:
715
727
  uri-js-replace@1.0.1
716
728
  use-sync-external-store@1.6.0 — Copyright (c) Meta Platforms, Inc. and affiliates.
717
729
  yargs@17.0.1 — Copyright 2010 James Halliday (mail@substack.net); Modified work Copyright 2014 Contributors (ben@npmjs.com)
730
+ zod@4.4.3 — Copyright (c) 2025 Colin McDonnell
718
731
 
719
732
  License text:
720
733
  Copyright (C) 2013 by Oliver Nightingale
@@ -4,6 +4,6 @@ import { dirname as __pathDirname } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  var __filename = __fileURLToPath(import.meta.url);
6
6
  var __dirname = __pathDirname(__filename);
7
- import{a}from"./POEVQHCC.js";import{V as p}from"./ZMAMNQ5K.js";function g(t,r){let n=t.services.flatMap(e=>e.operations),s=n.filter(e=>e.sse!==void 0);s.length>0&&p.warn(`generate-client: ${r} skipped ${s.length} server-sent-events operation(s) \u2014 iterate the sdk's exported async generators directly: ${s.map(e=>e.name).join(", ")}.
7
+ import{a}from"./WNOJ33NP.js";import{W as p}from"./MJSI4VHA.js";function g(t,r){let n=t.services.flatMap(e=>e.operations),s=n.filter(e=>e.sse!==void 0);s.length>0&&p.warn(`generate-client: ${r} skipped ${s.length} server-sent-events operation(s) \u2014 iterate the sdk's exported async generators directly: ${s.map(e=>e.name).join(", ")}.
8
8
  `);let i=new Set(t.schemas.map(e=>e.name)),o=n.filter(e=>e.sse===void 0&&m(e,i));return o.length>0&&p.warn(`generate-client: ${r} skipped ${o.length} operation(s) whose variables type name collides with a schema \u2014 rename the schema or the operation: ${o.map(e=>e.name).join(", ")}.
9
9
  `),n.filter(e=>e.sse===void 0&&!m(e,i))}function m(t,r){let n=a(t);return n.hasInputs&&r.has(n.variablesTypeName)}function x(t){return t.method==="get"||t.method==="head"}function u(t){return a(t).hasInputs}function f(t){return a(t).variablesTypeName}function $(t,r,n){let s=[];return a(t).hasInputs?s.push(r):n&&s.push("{}"),n&&s.push("{ ...init, envelope: undefined }"),`${t.name}(${s.join(", ")})`}function v(t,r,n){let s=t.map(e=>e.name).sort(),i=t.filter(u).map(f).sort();return n&&i.push("RequestOptions"),`import { ${[...s,...i.map(e=>`type ${e}`)].join(", ")} } from ${JSON.stringify(r)};`}export{g as a,x as b,u as c,f as d,$ as e,v as f};