diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 4b021690..56e14a15 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -1,6 +1,7 @@ import { defineConfig } from 'astro/config' import starlight from '@astrojs/starlight' import starlightOpenAPI from 'starlight-openapi' +import starlightLinksValidator from 'starlight-links-validator' // https://astro.build/config export default defineConfig({ @@ -28,6 +29,7 @@ export default defineConfig({ src: './public/favicon.svg' }, plugins: [ + starlightLinksValidator(), // Generate the OpenAPI documentation pages. starlightOpenAPI([ { diff --git a/docs/package.json b/docs/package.json index 740927da..60df421e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,8 @@ "mermaid": "^10.9.0", "sharp": "^0.33.3", "shiki": "1.4.0", - "starlight-openapi": "^0.6.3" + "starlight-openapi": "^0.6.3", + "starlight-links-validator": "^0.9.0" }, "devDependencies": { "prettier": "3.2.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f2bca217..71acdcea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -74,9 +74,12 @@ importers: shiki: specifier: 1.4.0 version: 1.4.0 + starlight-links-validator: + specifier: ^0.9.0 + version: 0.9.0(@astrojs/starlight@0.22.0)(astro@4.7.0) starlight-openapi: specifier: ^0.6.3 - version: 0.6.3(@astrojs/markdown-remark@4.3.2)(@astrojs/starlight@0.22.0)(astro@4.7.0)(openapi-types@12.1.3) + version: 0.6.3(@astrojs/markdown-remark@5.1.0)(@astrojs/starlight@0.22.0)(astro@4.7.0)(openapi-types@12.1.3) devDependencies: prettier: specifier: 3.2.5 @@ -254,31 +257,6 @@ packages: - supports-color dev: false - /@astrojs/markdown-remark@4.3.2: - resolution: {integrity: sha512-4Oa4VaYiBd0MatB+rWIU/0A8pZH/sK3c2QkRYb+OO2lPl+qzevJtWaZY8hAQc4qurIOlRdn6B6ofDAGhWw+DSg==} - dependencies: - '@astrojs/prism': 3.1.0 - github-slugger: 2.0.0 - hast-util-from-html: 2.0.1 - hast-util-to-text: 4.0.2 - import-meta-resolve: 4.0.0 - mdast-util-definitions: 6.0.0 - rehype-raw: 7.0.0 - rehype-stringify: 10.0.0 - remark-gfm: 4.0.0 - remark-parse: 11.0.0 - remark-rehype: 11.1.0 - remark-smartypants: 2.1.0 - shiki: 1.4.0 - unified: 11.0.4 - unist-util-remove-position: 5.0.0 - unist-util-visit: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: false - /@astrojs/markdown-remark@5.1.0: resolution: {integrity: sha512-S6Z3K2hOB7MfjeDoHsotnP/q2UsnEDB8NlNAaCjMDsGBZfTUbWxyLW3CaphEWw08f6KLZi2ibK9yC3BaMhh2NQ==} dependencies: @@ -5591,6 +5569,11 @@ packages: engines: {node: '>=12'} dev: false + /is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + /is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} dev: false @@ -8094,6 +8077,11 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + dev: false + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -8924,7 +8912,26 @@ packages: escape-string-regexp: 2.0.0 dev: true - /starlight-openapi@0.6.3(@astrojs/markdown-remark@4.3.2)(@astrojs/starlight@0.22.0)(astro@4.7.0)(openapi-types@12.1.3): + /starlight-links-validator@0.9.0(@astrojs/starlight@0.22.0)(astro@4.7.0): + resolution: {integrity: sha512-DJQDncEJBuuguPHJKP/SMmYdToWCFeEpZuRV5z9Qqgif3njJiF7dBRDAFdNIM2TCNADAZdseMOcR0iUpnvvjLQ==} + engines: {node: '>=18.14.1'} + peerDependencies: + '@astrojs/starlight': '>=0.15.0' + astro: '>=4.0.0' + dependencies: + '@astrojs/starlight': 0.22.0(astro@4.7.0) + astro: 4.7.0(@types/node@20.12.7)(typescript@4.9.5) + github-slugger: 2.0.0 + hast-util-from-html: 2.0.1 + hast-util-has-property: 3.0.0 + is-absolute-url: 4.0.1 + kleur: 4.1.5 + mdast-util-to-string: 4.0.0 + picomatch: 4.0.2 + unist-util-visit: 5.0.0 + dev: false + + /starlight-openapi@0.6.3(@astrojs/markdown-remark@5.1.0)(@astrojs/starlight@0.22.0)(astro@4.7.0)(openapi-types@12.1.3): resolution: {integrity: sha512-AHTbCJeGHzzhwVVi7UMgFgNKkvio2bbi9zQVtcI7CrMXVdd4jqL/L+R7MUxtr/DtzWG7PCCRsKPriwYubJ1ZPQ==} engines: {node: '>=18.14.1'} peerDependencies: @@ -8932,7 +8939,7 @@ packages: '@astrojs/starlight': '>=0.19.0' astro: '>=4.2.7' dependencies: - '@astrojs/markdown-remark': 4.3.2 + '@astrojs/markdown-remark': 5.1.0 '@astrojs/starlight': 0.22.0(astro@4.7.0) '@readme/openapi-parser': 2.5.0(openapi-types@12.1.3) astro: 4.7.0(@types/node@20.12.7)(typescript@4.9.5)