From 67ea331257fbcd251610de24c0a38ec13182d9bd Mon Sep 17 00:00:00 2001 From: Alex Varchuk Date: Thu, 3 Oct 2024 20:00:41 +0300 Subject: [PATCH 1/3] fix: bundle externalValue with relative reference in examples object (#1747) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --------- Co-authored-by: Jacek Łękawa <164185257+JLekawa@users.noreply.github.com> --- .changeset/little-pears-sniff.md | 6 ++ .../bundle-external-value/external-value.json | 4 ++ .../bundle/bundle-external-value/redocly.yaml | 8 +++ .../bundle/bundle-external-value/snapshot.js | 59 +++++++++++++++++++ .../bundle-external-value/test-success.yaml | 33 +++++++++++ .../test-wrong-examples.yaml | 28 +++++++++ packages/core/src/bundle.ts | 19 ++++++ packages/core/src/resolve.ts | 22 +++++++ .../__tests__/fixtures/external-value.yaml | 2 + .../no-invalid-media-type-examples.test.ts | 2 +- 10 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 .changeset/little-pears-sniff.md create mode 100644 __tests__/bundle/bundle-external-value/external-value.json create mode 100644 __tests__/bundle/bundle-external-value/redocly.yaml create mode 100644 __tests__/bundle/bundle-external-value/snapshot.js create mode 100644 __tests__/bundle/bundle-external-value/test-success.yaml create mode 100644 __tests__/bundle/bundle-external-value/test-wrong-examples.yaml create mode 100644 packages/core/src/rules/oas3/__tests__/fixtures/external-value.yaml diff --git a/.changeset/little-pears-sniff.md b/.changeset/little-pears-sniff.md new file mode 100644 index 00000000..335f6e49 --- /dev/null +++ b/.changeset/little-pears-sniff.md @@ -0,0 +1,6 @@ +--- +"@redocly/openapi-core": patch +"@redocly/cli": patch +--- + +Fixed an issue where the bundle command did not resolve links in `externalValue`. diff --git a/__tests__/bundle/bundle-external-value/external-value.json b/__tests__/bundle/bundle-external-value/external-value.json new file mode 100644 index 00000000..b5b7bd90 --- /dev/null +++ b/__tests__/bundle/bundle-external-value/external-value.json @@ -0,0 +1,4 @@ +{ + "foo": "bar", + "key": "value" +} diff --git a/__tests__/bundle/bundle-external-value/redocly.yaml b/__tests__/bundle/bundle-external-value/redocly.yaml new file mode 100644 index 00000000..4eb5e274 --- /dev/null +++ b/__tests__/bundle/bundle-external-value/redocly.yaml @@ -0,0 +1,8 @@ +apis: + first: + root: ./test-success.yaml + second: + root: ./test-wrong-examples.yaml + +extends: + - recommended diff --git a/__tests__/bundle/bundle-external-value/snapshot.js b/__tests__/bundle/bundle-external-value/snapshot.js new file mode 100644 index 00000000..d34f50ee --- /dev/null +++ b/__tests__/bundle/bundle-external-value/snapshot.js @@ -0,0 +1,59 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`E2E bundle bundle-external-value 1`] = ` +openapi: 3.1.0 +info: + version: 1.0.0 + title: Example.com + termsOfService: https://example.com/terms/ + contact: + email: contact@example.com + url: http://example.com/contact + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + description: OpenAPI description with external example +security: [] +paths: + /: + post: + summary: Test request externalValue with relative reference in examples + requestBody: + content: + application/xml: + schema: + type: object + examples: + test-resolved: + summary: Example should resolved to value + value: + foo: bar + key: value + test-no-resolved: + summary: Example shouldn't be resolved to value + value: + type: object + externalValue: ./external-value.json +components: {} + +bundling ./test-success.yaml... +📦 Created a bundle for ./test-success.yaml at stdout ms. +bundling ./test-wrong-examples.yaml... +[1] test-wrong-examples.yaml:27:17 at #/paths/~1/post/requestBody/content/application~1xml/examples/test-wrong-ref + +Can't resolve $ref: ENOENT: no such file or directory './__tests__/bundle/bundle-external-value/external-value-bad-path.json' + +25 | examples: +26 | test-wrong-ref: +27 | summary: Example shouldn't resolved to value + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +28 | externalValue: './external-value-bad-path.json' + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +29 | + +Error was generated by the bundler rule. + + +❌ Errors encountered while bundling ./test-wrong-examples.yaml: bundle not created (use --force to ignore errors). + +`; diff --git a/__tests__/bundle/bundle-external-value/test-success.yaml b/__tests__/bundle/bundle-external-value/test-success.yaml new file mode 100644 index 00000000..63a52362 --- /dev/null +++ b/__tests__/bundle/bundle-external-value/test-success.yaml @@ -0,0 +1,33 @@ +openapi: 3.1.0 +security: [] +info: + version: 1.0.0 + title: Example.com + termsOfService: https://example.com/terms/ + contact: + email: contact@example.com + url: http://example.com/contact + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + description: OpenAPI description with external example +components: {} + +paths: + /: + post: + summary: Test request externalValue with relative reference in examples + requestBody: + content: + application/xml: + schema: + type: object + examples: + test-resolved: + summary: Example should resolved to value + externalValue: './external-value.json' + test-no-resolved: + summary: Example shouldn't be resolved to value + value: + type: object + externalValue: './external-value.json' diff --git a/__tests__/bundle/bundle-external-value/test-wrong-examples.yaml b/__tests__/bundle/bundle-external-value/test-wrong-examples.yaml new file mode 100644 index 00000000..b6a355ea --- /dev/null +++ b/__tests__/bundle/bundle-external-value/test-wrong-examples.yaml @@ -0,0 +1,28 @@ +openapi: 3.1.0 +security: [] +info: + version: 1.0.0 + title: Example.com + termsOfService: https://example.com/terms/ + contact: + email: contact@example.com + url: http://example.com/contact + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + description: OpenAPI description with external example +components: {} + +paths: + /: + post: + summary: Test request externalValue with relative reference in examples + requestBody: + content: + application/xml: + schema: + type: object + examples: + test-wrong-ref: + summary: Example shouldn't resolved to value + externalValue: './external-value-bad-path.json' diff --git a/packages/core/src/bundle.ts b/packages/core/src/bundle.ts index be58ab1d..970df3f9 100755 --- a/packages/core/src/bundle.ts +++ b/packages/core/src/bundle.ts @@ -379,6 +379,25 @@ function makeBundleVisitor( } }, }, + Example: { + leave(node: any, ctx: UserContext) { + if (node.externalValue && node.value === undefined) { + const resolved = ctx.resolve({ $ref: node.externalValue }); + + if (!resolved.location || resolved.node === undefined) { + reportUnresolvedRef(resolved, ctx.report, ctx.location); + return; + } + + if (keepUrlRefs && isAbsoluteUrl(node.externalValue)) { + return; + } + + node.value = ctx.resolve({ $ref: node.externalValue }).node; + delete node.externalValue; + } + }, + }, Root: { enter(root: any, ctx: any) { rootLocation = ctx.location; diff --git a/packages/core/src/resolve.ts b/packages/core/src/resolve.ts index fd55c85c..1ca83a58 100644 --- a/packages/core/src/resolve.ts +++ b/packages/core/src/resolve.ts @@ -335,6 +335,28 @@ export async function resolveDocument(opts: { }); resolvePromises.push(promise); } + + // handle example.externalValue as reference + if (node.externalValue) { + const promise = followRef( + rootNodeDocument, + { $ref: node.externalValue }, + { + prev: null, + node, + } + ).then((resolvedRef) => { + if (resolvedRef.resolved) { + resolveRefsInParallel( + resolvedRef.node, + resolvedRef.document, + resolvedRef.nodePointer!, + type + ); + } + }); + resolvePromises.push(promise); + } } async function followRef( diff --git a/packages/core/src/rules/oas3/__tests__/fixtures/external-value.yaml b/packages/core/src/rules/oas3/__tests__/fixtures/external-value.yaml new file mode 100644 index 00000000..e70d46b9 --- /dev/null +++ b/packages/core/src/rules/oas3/__tests__/fixtures/external-value.yaml @@ -0,0 +1,2 @@ +a: foo +b: 100 diff --git a/packages/core/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts b/packages/core/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts index fd09a7fe..1020916b 100644 --- a/packages/core/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +++ b/packages/core/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts @@ -553,7 +553,7 @@ describe('no-invalid-media-type-examples', () => { type: number examples: first: - externalValue: "https://example.com/example.json" + externalValue: ./fixtures/external-value.yaml `, 'foobar.yaml' ); From 81ca339a164b942f0e5fca194c5e9a9f267d444d Mon Sep 17 00:00:00 2001 From: volodymyr-rutskyi Date: Fri, 4 Oct 2024 14:05:03 +0300 Subject: [PATCH 2/3] fix: resolve plugins from npm packages correctly (#1749) --- .changeset/strange-starfishes-press.md | 6 ++ .github/workflows/smoke-plugins.yaml | 92 ++++++++++++++++++++ .github/workflows/smoke.yaml | 52 +++++++++++ __tests__/smoke-plugins/local-plugin.js | 3 + __tests__/smoke-plugins/message-schema.yaml | 4 + __tests__/smoke-plugins/openapi.yaml | 19 ++++ __tests__/smoke-plugins/package.json | 10 +++ __tests__/smoke-plugins/redocly.yaml | 5 ++ __tests__/smoke-plugins/run-smoke.sh | 19 ++++ packages/core/src/config/config-resolvers.ts | 2 +- scripts/prepare-smoke-plugins.sh | 16 ++++ 11 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 .changeset/strange-starfishes-press.md create mode 100644 .github/workflows/smoke-plugins.yaml create mode 100644 __tests__/smoke-plugins/local-plugin.js create mode 100644 __tests__/smoke-plugins/message-schema.yaml create mode 100644 __tests__/smoke-plugins/openapi.yaml create mode 100644 __tests__/smoke-plugins/package.json create mode 100644 __tests__/smoke-plugins/redocly.yaml create mode 100644 __tests__/smoke-plugins/run-smoke.sh create mode 100644 scripts/prepare-smoke-plugins.sh diff --git a/.changeset/strange-starfishes-press.md b/.changeset/strange-starfishes-press.md new file mode 100644 index 00000000..57db08db --- /dev/null +++ b/.changeset/strange-starfishes-press.md @@ -0,0 +1,6 @@ +--- +"@redocly/openapi-core": patch +"@redocly/cli": patch +--- + +Fixed an issue where the plugins in external NPM packages could not be resolved if the CLI package was installed globally. diff --git a/.github/workflows/smoke-plugins.yaml b/.github/workflows/smoke-plugins.yaml new file mode 100644 index 00000000..2c44553b --- /dev/null +++ b/.github/workflows/smoke-plugins.yaml @@ -0,0 +1,92 @@ +name: Plugins smoke tests + +on: + pull_request: + types: [opened, synchronize, reopened] + +env: + CI: true + REDOCLY_TELEMETRY: off + +jobs: + prepare-smoke-plugins: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + - name: Install dependencies + run: npm ci + - name: Prepare Smoke + run: bash ./scripts/prepare-smoke-plugins.sh + - uses: actions/cache@v3 + with: + path: __tests__/smoke-plugins/ + key: cache-plugins-${{ github.run_id }}-${{ github.run_attempt }} + + run-smoke-plugins--npm--node-22: + needs: prepare-smoke-plugins + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke-plugins/ + key: cache-plugins-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 22 + - run: bash ./__tests__/smoke-plugins/run-smoke.sh + + run-smoke-plugins--npm--node-20: + needs: prepare-smoke-plugins + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke-plugins/ + key: cache-plugins-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 20 + - run: bash ./__tests__/smoke-plugins/run-smoke.sh + + run-smoke-plugins--npm--node-18: + needs: prepare-smoke-plugins + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke-plugins/ + key: cache-plugins-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 18 + - run: bash ./__tests__/smoke-plugins/run-smoke.sh + + run-smoke-plugins--npm--node-16: + needs: prepare-smoke-plugins + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke-plugins/ + key: cache-plugins-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 16 + - run: bash ./__tests__/smoke-plugins/run-smoke.sh + + run-smoke-plugins--npm--node-14: + needs: prepare-smoke-plugins + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke-plugins/ + key: cache-plugins-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 14 + - run: bash ./__tests__/smoke-plugins/run-smoke.sh diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 4bd36466..b70f1032 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -26,6 +26,32 @@ jobs: path: __tests__/smoke/ key: cache-${{ github.run_id }}-${{ github.run_attempt }} + run-smoke--npm--node-22: + needs: prepare-smoke + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke/ + key: cache-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 22 + - run: bash ./__tests__/smoke/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + + run-smoke--npm--node-22--redoc: + needs: prepare-smoke + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke/ + key: cache-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 22 + - run: bash ./__tests__/smoke/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + run-smoke--npm--node-20: needs: prepare-smoke runs-on: ubuntu-latest @@ -130,6 +156,32 @@ jobs: node-version: 14 - run: bash ./__tests__/smoke/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + run-smoke--yarn--node-22: + needs: prepare-smoke + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke/ + key: cache-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 22 + - run: bash ./__tests__/smoke/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" + + run-smoke--yarn--node-22--redoc: + needs: prepare-smoke + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: __tests__/smoke/ + key: cache-${{ github.run_id }}-${{ github.run_attempt }} + - uses: actions/setup-node@v3 + with: + node-version: 22 + - run: bash ./__tests__/smoke/run-smoke.sh "yarn add redoc ./redocly-cli.tgz" "yarn" + run-smoke--yarn--node-20: needs: prepare-smoke runs-on: ubuntu-latest diff --git a/__tests__/smoke-plugins/local-plugin.js b/__tests__/smoke-plugins/local-plugin.js new file mode 100644 index 00000000..106df691 --- /dev/null +++ b/__tests__/smoke-plugins/local-plugin.js @@ -0,0 +1,3 @@ +module.exports = function localPlugin() { + return { id: 'local-plugin' }; +}; diff --git a/__tests__/smoke-plugins/message-schema.yaml b/__tests__/smoke-plugins/message-schema.yaml new file mode 100644 index 00000000..6acdcbdd --- /dev/null +++ b/__tests__/smoke-plugins/message-schema.yaml @@ -0,0 +1,4 @@ +type: object +properties: + message: + type: string diff --git a/__tests__/smoke-plugins/openapi.yaml b/__tests__/smoke-plugins/openapi.yaml new file mode 100644 index 00000000..4375c769 --- /dev/null +++ b/__tests__/smoke-plugins/openapi.yaml @@ -0,0 +1,19 @@ +openapi: 3.1.0 +servers: + - url: http://redocly-example.com +info: + title: Sample API + version: 1.0.0 +paths: + /hello: + get: + operationId: getMessage + security: [] + summary: Get a greeting message + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: ./message-schema.yaml diff --git a/__tests__/smoke-plugins/package.json b/__tests__/smoke-plugins/package.json new file mode 100644 index 00000000..2a4d3ff1 --- /dev/null +++ b/__tests__/smoke-plugins/package.json @@ -0,0 +1,10 @@ +{ + "name": "test-project-smoke-plugins", + "scripts": { + "redocly-version": "redocly --version", + "redocly-lint": "redocly lint openapi.yaml" + }, + "dependencies": { + "@redocly/portal-plugin-async-api": "1.0.273" + } +} diff --git a/__tests__/smoke-plugins/redocly.yaml b/__tests__/smoke-plugins/redocly.yaml new file mode 100644 index 00000000..de864fa8 --- /dev/null +++ b/__tests__/smoke-plugins/redocly.yaml @@ -0,0 +1,5 @@ +extends: + - recommended +plugins: + - '@redocly/portal-plugin-async-api' + - local-plugin.js diff --git a/__tests__/smoke-plugins/run-smoke.sh b/__tests__/smoke-plugins/run-smoke.sh new file mode 100644 index 00000000..1e4ae366 --- /dev/null +++ b/__tests__/smoke-plugins/run-smoke.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -eo pipefail # Fail on script errors + +cd __tests__/smoke-plugins +echo +echo "Directory content:" +ls -a +echo + +# Install plugin package +npm i + +# Install CLI globally +npm i redocly-cli.tgz -g + +# Actual smoke test - executing the command provided as the second argument +npm run redocly-version +npm run redocly-lint \ No newline at end of file diff --git a/packages/core/src/config/config-resolvers.ts b/packages/core/src/config/config-resolvers.ts index 92628cef..b25e7095 100644 --- a/packages/core/src/config/config-resolvers.ts +++ b/packages/core/src/config/config-resolvers.ts @@ -139,7 +139,7 @@ export async function resolvePlugins( const absolutePluginPath = existsSync(maybeAbsolutePluginPath) ? maybeAbsolutePluginPath : // For plugins imported from packages specifically - require.resolve(plugin); + require.resolve(plugin, { paths: [configDir] }); if (!pluginsCache.has(absolutePluginPath)) { let requiredPlugin: ImportedPlugin | undefined; diff --git a/scripts/prepare-smoke-plugins.sh b/scripts/prepare-smoke-plugins.sh new file mode 100644 index 00000000..c6903005 --- /dev/null +++ b/scripts/prepare-smoke-plugins.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# For npm (Mutates packages/cli/package.json) +npm run pack:prepare + +cp ./redocly-cli.tgz ./openapi-core.tgz ./__tests__/smoke-plugins + +echo "Current directory:" +pwd +echo +echo "Current directory content:" +ls -a +echo +echo "Target directory content:" +ls -a __tests__/smoke-plugins/ +echo From 1a0c9d3b82195517db6da9364a81f5264eafea16 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 15:09:42 +0300 Subject: [PATCH 3/3] =?UTF-8?q?chore:=20=F0=9F=94=96=20release=20new=20ver?= =?UTF-8?q?sions=20(#1750)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/little-pears-sniff.md | 6 ------ .changeset/strange-starfishes-press.md | 6 ------ docs/changelog.md | 8 ++++++++ package-lock.json | 8 ++++---- packages/cli/CHANGELOG.md | 8 ++++++++ packages/cli/package.json | 4 ++-- packages/core/CHANGELOG.md | 7 +++++++ packages/core/package.json | 2 +- 8 files changed, 30 insertions(+), 19 deletions(-) delete mode 100644 .changeset/little-pears-sniff.md delete mode 100644 .changeset/strange-starfishes-press.md diff --git a/.changeset/little-pears-sniff.md b/.changeset/little-pears-sniff.md deleted file mode 100644 index 335f6e49..00000000 --- a/.changeset/little-pears-sniff.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@redocly/openapi-core": patch -"@redocly/cli": patch ---- - -Fixed an issue where the bundle command did not resolve links in `externalValue`. diff --git a/.changeset/strange-starfishes-press.md b/.changeset/strange-starfishes-press.md deleted file mode 100644 index 57db08db..00000000 --- a/.changeset/strange-starfishes-press.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@redocly/openapi-core": patch -"@redocly/cli": patch ---- - -Fixed an issue where the plugins in external NPM packages could not be resolved if the CLI package was installed globally. diff --git a/docs/changelog.md b/docs/changelog.md index e562b0b3..7ad4ecdd 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -7,6 +7,14 @@ toc: +## 1.25.5 (2024-10-04) + +### Patch Changes + +- Fixed an issue where the bundle command did not resolve links in `externalValue`. +- Fixed an issue where the plugins in external NPM packages could not be resolved if the CLI package was installed globally. +- Updated @redocly/openapi-core to v1.25.5. + ## 1.25.4 (2024-09-30) ### Patch Changes diff --git a/package-lock.json b/package-lock.json index 4cfd8d03..cf770b7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13739,10 +13739,10 @@ }, "packages/cli": { "name": "@redocly/cli", - "version": "1.25.4", + "version": "1.25.5", "license": "MIT", "dependencies": { - "@redocly/openapi-core": "1.25.4", + "@redocly/openapi-core": "1.25.5", "abort-controller": "^3.0.0", "chokidar": "^3.5.1", "colorette": "^1.2.0", @@ -13796,7 +13796,7 @@ }, "packages/core": { "name": "@redocly/openapi-core", - "version": "1.25.4", + "version": "1.25.5", "license": "MIT", "dependencies": { "@redocly/ajv": "^8.11.2", @@ -16460,7 +16460,7 @@ "@redocly/cli": { "version": "file:packages/cli", "requires": { - "@redocly/openapi-core": "1.25.4", + "@redocly/openapi-core": "1.25.5", "@types/configstore": "^5.0.1", "@types/glob": "^8.1.0", "@types/pluralize": "^0.0.29", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index e15971a7..68b53e91 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,13 @@ # @redocly/cli +## 1.25.5 + +### Patch Changes + +- Fixed an issue where the bundle command did not resolve links in `externalValue`. +- Fixed an issue where the plugins in external NPM packages could not be resolved if the CLI package was installed globally. +- Updated @redocly/openapi-core to v1.25.5. + ## 1.25.4 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 746c7fb9..89bff9bd 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@redocly/cli", - "version": "1.25.4", + "version": "1.25.5", "description": "", "license": "MIT", "bin": { @@ -36,7 +36,7 @@ "Roman Hotsiy (https://redoc.ly/)" ], "dependencies": { - "@redocly/openapi-core": "1.25.4", + "@redocly/openapi-core": "1.25.5", "abort-controller": "^3.0.0", "chokidar": "^3.5.1", "colorette": "^1.2.0", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 08c755e5..3bde6089 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,12 @@ # @redocly/openapi-core +## 1.25.5 + +### Patch Changes + +- Fixed an issue where the bundle command did not resolve links in `externalValue`. +- Fixed an issue where the plugins in external NPM packages could not be resolved if the CLI package was installed globally. + ## 1.25.4 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 78c00c36..935a5383 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@redocly/openapi-core", - "version": "1.25.4", + "version": "1.25.5", "description": "", "main": "lib/index.js", "engines": {