├── .gitignore ├── README.md ├── package.json ├── pnpm-lock.yaml ├── src ├── README.mdx ├── cli.ts ├── index.ts └── mdx-to-md.ts ├── tests ├── lead.mdx ├── mdx-to-md.test.ts └── test.mdx └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .turbo 3 | dist 4 | node_modules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # mdx-to-md 4 | 5 | Convert MDX to Markdown. 6 | 7 | ## Why? 8 | 9 | This library is most useful for templating README.md files [like the one you're reading](/src/README.mdx). 10 | 11 | # Install 12 | 13 | ```bash 14 | pnpm add mdx-to-md 15 | ``` 16 | 17 | ```bash 18 | npm install mdx-to-md 19 | ``` 20 | 21 | ## CLI 22 | 23 | ```bash 24 | mdx-to-md [sourcePath] [outPath] 25 | 26 | ``` 27 | 28 | In the simplest use case, you can run the CLI and it will output the converted Markdown relative to the current working directory the script was run in: 29 | 30 | ```bash 31 | pnpm mdx-to-md README.mdx 32 | 33 | ``` 34 | 35 | ## Node 36 | 37 | Start with MDX: 38 | 39 | ```mdx 40 | import { name, description } from "./package.json" 41 | 42 | # {name} 43 | 44 | {description} 45 | 46 | # Install 47 | 48 |
49 |   pnpm add {name}
50 | 
51 | 52 | ``` 53 | 54 | And convert it to Markdown: 55 | 56 | ```ts 57 | import { writeFile } from "node:fs/promises" 58 | import { resolve } from "node:path" 59 | import { mdxToMd } from "mdx-to-md" 60 | 61 | const mdxPath = resolve(process.cwd(), "README.mdx") 62 | const markdown = await mdxToMd(mdxPath) 63 | const banner = `This README was auto-generated using "pnpm build:readme"` 64 | const readme = ` \n\n ${markdown}` 65 | 66 | await writeFile("README.md", readme) 67 | 68 | console.log("📝 Converted README.mdx -> README.md") 69 | 70 | ``` 71 | 72 | Which outputs: 73 | 74 | ```md 75 | # mdx-to-md 76 | 77 | Convert MDX to Markdown. 78 | 79 | # Install 80 | 81 | pnpm add mdx-to-md 82 | 83 | ``` -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mdx-to-md", 3 | "type": "module", 4 | "version": "0.5.2", 5 | "description": "Convert MDX to Markdown.", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/souporserious/mdx-to-md.git" 9 | }, 10 | "keywords": [ 11 | "markdown", 12 | "md", 13 | "mdx", 14 | "jsx" 15 | ], 16 | "author": "Travis Arnold", 17 | "license": "MIT", 18 | "main": "dist/index.js", 19 | "types": "dist/index.d.ts", 20 | "bin": { 21 | "mdx-to-md": "dist/cli.js" 22 | }, 23 | "files": [ 24 | "dist/*" 25 | ], 26 | "scripts": { 27 | "build": "tsc && chmod +x dist/cli.js", 28 | "build:readme": "node dist/cli.js src/README.mdx", 29 | "postbuild": "pnpm build:readme", 30 | "prepublishOnly": "npm run build", 31 | "dev": "pnpm build --watch --sourcemap", 32 | "dev:readme": "pnpm build:readme --watch", 33 | "test": "uvu -r esbuild-register tests" 34 | }, 35 | "dependencies": { 36 | "@mdx-js/mdx": "^3.1.0", 37 | "args-flags": "^1.1.1", 38 | "chokidar": "^4.0.3", 39 | "mdx-bundler": "^10.1.1", 40 | "node-html-markdown": "^1.3.0", 41 | "react": "^19.1.0", 42 | "react-dom": "^19.1.0" 43 | }, 44 | "devDependencies": { 45 | "@types/node": "^22.14.0", 46 | "@types/react": "^19.1.0", 47 | "@types/react-dom": "^19.1.1", 48 | "esbuild-register": "^3.6.0", 49 | "react": "^19.1.0", 50 | "react-dom": "^19.1.0", 51 | "turbo": "2.5.0", 52 | "typescript": "^5.8.3", 53 | "uvu": "^0.5.6" 54 | }, 55 | "prettier": { 56 | "arrowParens": "always", 57 | "printWidth": 100, 58 | "semi": false, 59 | "trailingComma": "es5" 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@mdx-js/mdx': 12 | specifier: ^3.1.0 13 | version: 3.1.0(acorn@8.14.1) 14 | args-flags: 15 | specifier: ^1.1.1 16 | version: 1.1.1 17 | chokidar: 18 | specifier: ^4.0.3 19 | version: 4.0.3 20 | mdx-bundler: 21 | specifier: ^10.1.1 22 | version: 10.1.1(acorn@8.14.1)(esbuild@0.25.2) 23 | node-html-markdown: 24 | specifier: ^1.3.0 25 | version: 1.3.0 26 | react: 27 | specifier: ^19.1.0 28 | version: 19.1.0 29 | react-dom: 30 | specifier: ^19.1.0 31 | version: 19.1.0(react@19.1.0) 32 | devDependencies: 33 | '@types/node': 34 | specifier: ^22.14.0 35 | version: 22.14.0 36 | '@types/react': 37 | specifier: ^19.1.0 38 | version: 19.1.0 39 | '@types/react-dom': 40 | specifier: ^19.1.1 41 | version: 19.1.1(@types/react@19.1.0) 42 | esbuild-register: 43 | specifier: ^3.6.0 44 | version: 3.6.0(esbuild@0.25.2) 45 | tsup: 46 | specifier: ^8.4.0 47 | version: 8.4.0(typescript@5.8.3)(yaml@2.7.1) 48 | turbo: 49 | specifier: 2.5.0 50 | version: 2.5.0 51 | typescript: 52 | specifier: ^5.8.3 53 | version: 5.8.3 54 | uvu: 55 | specifier: ^0.5.6 56 | version: 0.5.6 57 | 58 | packages: 59 | 60 | '@babel/runtime@7.27.0': 61 | resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} 62 | engines: {node: '>=6.9.0'} 63 | 64 | '@esbuild-plugins/node-resolve@0.2.2': 65 | resolution: {integrity: sha512-+t5FdX3ATQlb53UFDBRb4nqjYBz492bIrnVWvpQHpzZlu9BQL5HasMZhqc409ygUwOWCXZhrWr6NyZ6T6Y+cxw==} 66 | peerDependencies: 67 | esbuild: '*' 68 | 69 | '@esbuild/aix-ppc64@0.25.2': 70 | resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==} 71 | engines: {node: '>=18'} 72 | cpu: [ppc64] 73 | os: [aix] 74 | 75 | '@esbuild/android-arm64@0.25.2': 76 | resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==} 77 | engines: {node: '>=18'} 78 | cpu: [arm64] 79 | os: [android] 80 | 81 | '@esbuild/android-arm@0.25.2': 82 | resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==} 83 | engines: {node: '>=18'} 84 | cpu: [arm] 85 | os: [android] 86 | 87 | '@esbuild/android-x64@0.25.2': 88 | resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==} 89 | engines: {node: '>=18'} 90 | cpu: [x64] 91 | os: [android] 92 | 93 | '@esbuild/darwin-arm64@0.25.2': 94 | resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==} 95 | engines: {node: '>=18'} 96 | cpu: [arm64] 97 | os: [darwin] 98 | 99 | '@esbuild/darwin-x64@0.25.2': 100 | resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==} 101 | engines: {node: '>=18'} 102 | cpu: [x64] 103 | os: [darwin] 104 | 105 | '@esbuild/freebsd-arm64@0.25.2': 106 | resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==} 107 | engines: {node: '>=18'} 108 | cpu: [arm64] 109 | os: [freebsd] 110 | 111 | '@esbuild/freebsd-x64@0.25.2': 112 | resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==} 113 | engines: {node: '>=18'} 114 | cpu: [x64] 115 | os: [freebsd] 116 | 117 | '@esbuild/linux-arm64@0.25.2': 118 | resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==} 119 | engines: {node: '>=18'} 120 | cpu: [arm64] 121 | os: [linux] 122 | 123 | '@esbuild/linux-arm@0.25.2': 124 | resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==} 125 | engines: {node: '>=18'} 126 | cpu: [arm] 127 | os: [linux] 128 | 129 | '@esbuild/linux-ia32@0.25.2': 130 | resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==} 131 | engines: {node: '>=18'} 132 | cpu: [ia32] 133 | os: [linux] 134 | 135 | '@esbuild/linux-loong64@0.25.2': 136 | resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==} 137 | engines: {node: '>=18'} 138 | cpu: [loong64] 139 | os: [linux] 140 | 141 | '@esbuild/linux-mips64el@0.25.2': 142 | resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==} 143 | engines: {node: '>=18'} 144 | cpu: [mips64el] 145 | os: [linux] 146 | 147 | '@esbuild/linux-ppc64@0.25.2': 148 | resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==} 149 | engines: {node: '>=18'} 150 | cpu: [ppc64] 151 | os: [linux] 152 | 153 | '@esbuild/linux-riscv64@0.25.2': 154 | resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==} 155 | engines: {node: '>=18'} 156 | cpu: [riscv64] 157 | os: [linux] 158 | 159 | '@esbuild/linux-s390x@0.25.2': 160 | resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==} 161 | engines: {node: '>=18'} 162 | cpu: [s390x] 163 | os: [linux] 164 | 165 | '@esbuild/linux-x64@0.25.2': 166 | resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==} 167 | engines: {node: '>=18'} 168 | cpu: [x64] 169 | os: [linux] 170 | 171 | '@esbuild/netbsd-arm64@0.25.2': 172 | resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==} 173 | engines: {node: '>=18'} 174 | cpu: [arm64] 175 | os: [netbsd] 176 | 177 | '@esbuild/netbsd-x64@0.25.2': 178 | resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==} 179 | engines: {node: '>=18'} 180 | cpu: [x64] 181 | os: [netbsd] 182 | 183 | '@esbuild/openbsd-arm64@0.25.2': 184 | resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==} 185 | engines: {node: '>=18'} 186 | cpu: [arm64] 187 | os: [openbsd] 188 | 189 | '@esbuild/openbsd-x64@0.25.2': 190 | resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==} 191 | engines: {node: '>=18'} 192 | cpu: [x64] 193 | os: [openbsd] 194 | 195 | '@esbuild/sunos-x64@0.25.2': 196 | resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==} 197 | engines: {node: '>=18'} 198 | cpu: [x64] 199 | os: [sunos] 200 | 201 | '@esbuild/win32-arm64@0.25.2': 202 | resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==} 203 | engines: {node: '>=18'} 204 | cpu: [arm64] 205 | os: [win32] 206 | 207 | '@esbuild/win32-ia32@0.25.2': 208 | resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==} 209 | engines: {node: '>=18'} 210 | cpu: [ia32] 211 | os: [win32] 212 | 213 | '@esbuild/win32-x64@0.25.2': 214 | resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==} 215 | engines: {node: '>=18'} 216 | cpu: [x64] 217 | os: [win32] 218 | 219 | '@fal-works/esbuild-plugin-global-externals@2.1.2': 220 | resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} 221 | 222 | '@isaacs/cliui@8.0.2': 223 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 224 | engines: {node: '>=12'} 225 | 226 | '@jridgewell/gen-mapping@0.3.8': 227 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 228 | engines: {node: '>=6.0.0'} 229 | 230 | '@jridgewell/resolve-uri@3.1.2': 231 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 232 | engines: {node: '>=6.0.0'} 233 | 234 | '@jridgewell/set-array@1.2.1': 235 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 236 | engines: {node: '>=6.0.0'} 237 | 238 | '@jridgewell/sourcemap-codec@1.5.0': 239 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 240 | 241 | '@jridgewell/trace-mapping@0.3.25': 242 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 243 | 244 | '@mdx-js/esbuild@3.1.0': 245 | resolution: {integrity: sha512-Jk42xUb1SEJxh6n2GBAtJjQISFIZccjz8XVEsHVhrlvZJAJziIxR9KyaFF6nTeTB/jCAFQGDgO7+oMRH/ApRsg==} 246 | peerDependencies: 247 | esbuild: '>=0.14.0' 248 | 249 | '@mdx-js/mdx@3.1.0': 250 | resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} 251 | 252 | '@pkgjs/parseargs@0.11.0': 253 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 254 | engines: {node: '>=14'} 255 | 256 | '@rollup/rollup-android-arm-eabi@4.39.0': 257 | resolution: {integrity: sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==} 258 | cpu: [arm] 259 | os: [android] 260 | 261 | '@rollup/rollup-android-arm64@4.39.0': 262 | resolution: {integrity: sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==} 263 | cpu: [arm64] 264 | os: [android] 265 | 266 | '@rollup/rollup-darwin-arm64@4.39.0': 267 | resolution: {integrity: sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==} 268 | cpu: [arm64] 269 | os: [darwin] 270 | 271 | '@rollup/rollup-darwin-x64@4.39.0': 272 | resolution: {integrity: sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==} 273 | cpu: [x64] 274 | os: [darwin] 275 | 276 | '@rollup/rollup-freebsd-arm64@4.39.0': 277 | resolution: {integrity: sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==} 278 | cpu: [arm64] 279 | os: [freebsd] 280 | 281 | '@rollup/rollup-freebsd-x64@4.39.0': 282 | resolution: {integrity: sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==} 283 | cpu: [x64] 284 | os: [freebsd] 285 | 286 | '@rollup/rollup-linux-arm-gnueabihf@4.39.0': 287 | resolution: {integrity: sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==} 288 | cpu: [arm] 289 | os: [linux] 290 | 291 | '@rollup/rollup-linux-arm-musleabihf@4.39.0': 292 | resolution: {integrity: sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==} 293 | cpu: [arm] 294 | os: [linux] 295 | 296 | '@rollup/rollup-linux-arm64-gnu@4.39.0': 297 | resolution: {integrity: sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==} 298 | cpu: [arm64] 299 | os: [linux] 300 | 301 | '@rollup/rollup-linux-arm64-musl@4.39.0': 302 | resolution: {integrity: sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==} 303 | cpu: [arm64] 304 | os: [linux] 305 | 306 | '@rollup/rollup-linux-loongarch64-gnu@4.39.0': 307 | resolution: {integrity: sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==} 308 | cpu: [loong64] 309 | os: [linux] 310 | 311 | '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': 312 | resolution: {integrity: sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==} 313 | cpu: [ppc64] 314 | os: [linux] 315 | 316 | '@rollup/rollup-linux-riscv64-gnu@4.39.0': 317 | resolution: {integrity: sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==} 318 | cpu: [riscv64] 319 | os: [linux] 320 | 321 | '@rollup/rollup-linux-riscv64-musl@4.39.0': 322 | resolution: {integrity: sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==} 323 | cpu: [riscv64] 324 | os: [linux] 325 | 326 | '@rollup/rollup-linux-s390x-gnu@4.39.0': 327 | resolution: {integrity: sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==} 328 | cpu: [s390x] 329 | os: [linux] 330 | 331 | '@rollup/rollup-linux-x64-gnu@4.39.0': 332 | resolution: {integrity: sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==} 333 | cpu: [x64] 334 | os: [linux] 335 | 336 | '@rollup/rollup-linux-x64-musl@4.39.0': 337 | resolution: {integrity: sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==} 338 | cpu: [x64] 339 | os: [linux] 340 | 341 | '@rollup/rollup-win32-arm64-msvc@4.39.0': 342 | resolution: {integrity: sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==} 343 | cpu: [arm64] 344 | os: [win32] 345 | 346 | '@rollup/rollup-win32-ia32-msvc@4.39.0': 347 | resolution: {integrity: sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==} 348 | cpu: [ia32] 349 | os: [win32] 350 | 351 | '@rollup/rollup-win32-x64-msvc@4.39.0': 352 | resolution: {integrity: sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==} 353 | cpu: [x64] 354 | os: [win32] 355 | 356 | '@types/debug@4.1.12': 357 | resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 358 | 359 | '@types/estree-jsx@1.0.5': 360 | resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} 361 | 362 | '@types/estree@1.0.7': 363 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 364 | 365 | '@types/hast@3.0.4': 366 | resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} 367 | 368 | '@types/mdast@4.0.4': 369 | resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} 370 | 371 | '@types/mdx@2.0.13': 372 | resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} 373 | 374 | '@types/ms@2.1.0': 375 | resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} 376 | 377 | '@types/node@22.14.0': 378 | resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} 379 | 380 | '@types/react-dom@19.1.1': 381 | resolution: {integrity: sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==} 382 | peerDependencies: 383 | '@types/react': ^19.0.0 384 | 385 | '@types/react@19.1.0': 386 | resolution: {integrity: sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==} 387 | 388 | '@types/resolve@1.20.6': 389 | resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} 390 | 391 | '@types/unist@2.0.11': 392 | resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} 393 | 394 | '@types/unist@3.0.3': 395 | resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} 396 | 397 | '@ungap/structured-clone@1.3.0': 398 | resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} 399 | 400 | acorn-jsx@5.3.2: 401 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 402 | peerDependencies: 403 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 404 | 405 | acorn@8.14.1: 406 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 407 | engines: {node: '>=0.4.0'} 408 | hasBin: true 409 | 410 | ansi-regex@5.0.1: 411 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 412 | engines: {node: '>=8'} 413 | 414 | ansi-regex@6.1.0: 415 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 416 | engines: {node: '>=12'} 417 | 418 | ansi-styles@4.3.0: 419 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 420 | engines: {node: '>=8'} 421 | 422 | ansi-styles@6.2.1: 423 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 424 | engines: {node: '>=12'} 425 | 426 | any-promise@1.3.0: 427 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 428 | 429 | argparse@1.0.10: 430 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 431 | 432 | args-flags@1.1.1: 433 | resolution: {integrity: sha512-tS+QOGYwAMh+Pu76Ij7lbpWvSGmujAHzqMJsB6eOzwbWhXI82DDV6iiwkQSR3cPxE7JQqwvx1muDoN4ySZ7qww==} 434 | 435 | astring@1.9.0: 436 | resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} 437 | hasBin: true 438 | 439 | bail@2.0.2: 440 | resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} 441 | 442 | balanced-match@1.0.2: 443 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 444 | 445 | boolbase@1.0.0: 446 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 447 | 448 | brace-expansion@2.0.1: 449 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 450 | 451 | bundle-require@5.1.0: 452 | resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} 453 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 454 | peerDependencies: 455 | esbuild: '>=0.18' 456 | 457 | cac@6.7.14: 458 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 459 | engines: {node: '>=8'} 460 | 461 | ccount@2.0.1: 462 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 463 | 464 | character-entities-html4@2.1.0: 465 | resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 466 | 467 | character-entities-legacy@3.0.0: 468 | resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} 469 | 470 | character-entities@2.0.2: 471 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 472 | 473 | character-reference-invalid@2.0.1: 474 | resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} 475 | 476 | chokidar@4.0.3: 477 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 478 | engines: {node: '>= 14.16.0'} 479 | 480 | collapse-white-space@2.1.0: 481 | resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} 482 | 483 | color-convert@2.0.1: 484 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 485 | engines: {node: '>=7.0.0'} 486 | 487 | color-name@1.1.4: 488 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 489 | 490 | comma-separated-tokens@2.0.3: 491 | resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 492 | 493 | commander@4.1.1: 494 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 495 | engines: {node: '>= 6'} 496 | 497 | consola@3.4.2: 498 | resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 499 | engines: {node: ^14.18.0 || >=16.10.0} 500 | 501 | cross-spawn@7.0.6: 502 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 503 | engines: {node: '>= 8'} 504 | 505 | css-select@5.1.0: 506 | resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} 507 | 508 | css-what@6.1.0: 509 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} 510 | engines: {node: '>= 6'} 511 | 512 | csstype@3.1.3: 513 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 514 | 515 | debug@4.4.0: 516 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 517 | engines: {node: '>=6.0'} 518 | peerDependencies: 519 | supports-color: '*' 520 | peerDependenciesMeta: 521 | supports-color: 522 | optional: true 523 | 524 | decode-named-character-reference@1.1.0: 525 | resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} 526 | 527 | dequal@2.0.3: 528 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 529 | engines: {node: '>=6'} 530 | 531 | devlop@1.1.0: 532 | resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 533 | 534 | diff@5.2.0: 535 | resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} 536 | engines: {node: '>=0.3.1'} 537 | 538 | dom-serializer@2.0.0: 539 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} 540 | 541 | domelementtype@2.3.0: 542 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 543 | 544 | domhandler@5.0.3: 545 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} 546 | engines: {node: '>= 4'} 547 | 548 | domutils@3.2.2: 549 | resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} 550 | 551 | eastasianwidth@0.2.0: 552 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 553 | 554 | emoji-regex@8.0.0: 555 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 556 | 557 | emoji-regex@9.2.2: 558 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 559 | 560 | entities@4.5.0: 561 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 562 | engines: {node: '>=0.12'} 563 | 564 | esast-util-from-estree@2.0.0: 565 | resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} 566 | 567 | esast-util-from-js@2.0.1: 568 | resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} 569 | 570 | esbuild-register@3.6.0: 571 | resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} 572 | peerDependencies: 573 | esbuild: '>=0.12 <1' 574 | 575 | esbuild@0.25.2: 576 | resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} 577 | engines: {node: '>=18'} 578 | hasBin: true 579 | 580 | escape-string-regexp@4.0.0: 581 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 582 | engines: {node: '>=10'} 583 | 584 | escape-string-regexp@5.0.0: 585 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 586 | engines: {node: '>=12'} 587 | 588 | esprima@4.0.1: 589 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 590 | engines: {node: '>=4'} 591 | hasBin: true 592 | 593 | estree-util-attach-comments@3.0.0: 594 | resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} 595 | 596 | estree-util-build-jsx@3.0.1: 597 | resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} 598 | 599 | estree-util-is-identifier-name@3.0.0: 600 | resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} 601 | 602 | estree-util-scope@1.0.0: 603 | resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} 604 | 605 | estree-util-to-js@2.0.0: 606 | resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} 607 | 608 | estree-util-value-to-estree@3.3.3: 609 | resolution: {integrity: sha512-Db+m1WSD4+mUO7UgMeKkAwdbfNWwIxLt48XF2oFU9emPfXkIu+k5/nlOj313v7wqtAPo0f9REhUvznFrPkG8CQ==} 610 | 611 | estree-util-visit@2.0.0: 612 | resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} 613 | 614 | estree-walker@3.0.3: 615 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 616 | 617 | extend-shallow@2.0.1: 618 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} 619 | engines: {node: '>=0.10.0'} 620 | 621 | extend@3.0.2: 622 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 623 | 624 | fault@2.0.1: 625 | resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} 626 | 627 | fdir@6.4.3: 628 | resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} 629 | peerDependencies: 630 | picomatch: ^3 || ^4 631 | peerDependenciesMeta: 632 | picomatch: 633 | optional: true 634 | 635 | foreground-child@3.3.1: 636 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 637 | engines: {node: '>=14'} 638 | 639 | format@0.2.2: 640 | resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} 641 | engines: {node: '>=0.4.x'} 642 | 643 | fsevents@2.3.3: 644 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 645 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 646 | os: [darwin] 647 | 648 | function-bind@1.1.2: 649 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 650 | 651 | glob@10.4.5: 652 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 653 | hasBin: true 654 | 655 | gray-matter@4.0.3: 656 | resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} 657 | engines: {node: '>=6.0'} 658 | 659 | hasown@2.0.2: 660 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 661 | engines: {node: '>= 0.4'} 662 | 663 | hast-util-to-estree@3.1.3: 664 | resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} 665 | 666 | hast-util-to-jsx-runtime@2.3.6: 667 | resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} 668 | 669 | hast-util-whitespace@3.0.0: 670 | resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} 671 | 672 | he@1.2.0: 673 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 674 | hasBin: true 675 | 676 | inline-style-parser@0.2.4: 677 | resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} 678 | 679 | is-alphabetical@2.0.1: 680 | resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} 681 | 682 | is-alphanumerical@2.0.1: 683 | resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} 684 | 685 | is-core-module@2.16.1: 686 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 687 | engines: {node: '>= 0.4'} 688 | 689 | is-decimal@2.0.1: 690 | resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} 691 | 692 | is-extendable@0.1.1: 693 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} 694 | engines: {node: '>=0.10.0'} 695 | 696 | is-fullwidth-code-point@3.0.0: 697 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 698 | engines: {node: '>=8'} 699 | 700 | is-hexadecimal@2.0.1: 701 | resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} 702 | 703 | is-plain-obj@4.1.0: 704 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 705 | engines: {node: '>=12'} 706 | 707 | isexe@2.0.0: 708 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 709 | 710 | jackspeak@3.4.3: 711 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 712 | 713 | joycon@3.1.1: 714 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 715 | engines: {node: '>=10'} 716 | 717 | js-yaml@3.14.1: 718 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 719 | hasBin: true 720 | 721 | kind-of@6.0.3: 722 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 723 | engines: {node: '>=0.10.0'} 724 | 725 | kleur@4.1.5: 726 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 727 | engines: {node: '>=6'} 728 | 729 | lilconfig@3.1.3: 730 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 731 | engines: {node: '>=14'} 732 | 733 | lines-and-columns@1.2.4: 734 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 735 | 736 | load-tsconfig@0.2.5: 737 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 738 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 739 | 740 | lodash.sortby@4.7.0: 741 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 742 | 743 | longest-streak@3.1.0: 744 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 745 | 746 | lru-cache@10.4.3: 747 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 748 | 749 | markdown-extensions@2.0.0: 750 | resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} 751 | engines: {node: '>=16'} 752 | 753 | mdast-util-from-markdown@2.0.2: 754 | resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} 755 | 756 | mdast-util-frontmatter@2.0.1: 757 | resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} 758 | 759 | mdast-util-mdx-expression@2.0.1: 760 | resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} 761 | 762 | mdast-util-mdx-jsx@3.2.0: 763 | resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} 764 | 765 | mdast-util-mdx@3.0.0: 766 | resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} 767 | 768 | mdast-util-mdxjs-esm@2.0.1: 769 | resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} 770 | 771 | mdast-util-phrasing@4.1.0: 772 | resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} 773 | 774 | mdast-util-to-hast@13.2.0: 775 | resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} 776 | 777 | mdast-util-to-markdown@2.1.2: 778 | resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} 779 | 780 | mdast-util-to-string@4.0.0: 781 | resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} 782 | 783 | mdx-bundler@10.1.1: 784 | resolution: {integrity: sha512-87FtxC7miUPznwqEaAlJARinHJ6Qin9kDuG2E2BCCNEOszr62kHpqivI/IF/CmwObVSpvApVFFxN1ftM/Gykvw==} 785 | engines: {node: '>=18', npm: '>=6'} 786 | peerDependencies: 787 | esbuild: 0.* 788 | 789 | micromark-core-commonmark@2.0.3: 790 | resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} 791 | 792 | micromark-extension-frontmatter@2.0.0: 793 | resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} 794 | 795 | micromark-extension-mdx-expression@3.0.1: 796 | resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} 797 | 798 | micromark-extension-mdx-jsx@3.0.2: 799 | resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} 800 | 801 | micromark-extension-mdx-md@2.0.0: 802 | resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} 803 | 804 | micromark-extension-mdxjs-esm@3.0.0: 805 | resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} 806 | 807 | micromark-extension-mdxjs@3.0.0: 808 | resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} 809 | 810 | micromark-factory-destination@2.0.1: 811 | resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} 812 | 813 | micromark-factory-label@2.0.1: 814 | resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} 815 | 816 | micromark-factory-mdx-expression@2.0.3: 817 | resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} 818 | 819 | micromark-factory-space@2.0.1: 820 | resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} 821 | 822 | micromark-factory-title@2.0.1: 823 | resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} 824 | 825 | micromark-factory-whitespace@2.0.1: 826 | resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} 827 | 828 | micromark-util-character@2.1.1: 829 | resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} 830 | 831 | micromark-util-chunked@2.0.1: 832 | resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} 833 | 834 | micromark-util-classify-character@2.0.1: 835 | resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} 836 | 837 | micromark-util-combine-extensions@2.0.1: 838 | resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} 839 | 840 | micromark-util-decode-numeric-character-reference@2.0.2: 841 | resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} 842 | 843 | micromark-util-decode-string@2.0.1: 844 | resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} 845 | 846 | micromark-util-encode@2.0.1: 847 | resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} 848 | 849 | micromark-util-events-to-acorn@2.0.3: 850 | resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} 851 | 852 | micromark-util-html-tag-name@2.0.1: 853 | resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} 854 | 855 | micromark-util-normalize-identifier@2.0.1: 856 | resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} 857 | 858 | micromark-util-resolve-all@2.0.1: 859 | resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} 860 | 861 | micromark-util-sanitize-uri@2.0.1: 862 | resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} 863 | 864 | micromark-util-subtokenize@2.1.0: 865 | resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} 866 | 867 | micromark-util-symbol@2.0.1: 868 | resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} 869 | 870 | micromark-util-types@2.0.2: 871 | resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} 872 | 873 | micromark@4.0.2: 874 | resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} 875 | 876 | minimatch@9.0.5: 877 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 878 | engines: {node: '>=16 || 14 >=14.17'} 879 | 880 | minipass@7.1.2: 881 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 882 | engines: {node: '>=16 || 14 >=14.17'} 883 | 884 | mri@1.2.0: 885 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 886 | engines: {node: '>=4'} 887 | 888 | ms@2.1.3: 889 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 890 | 891 | mz@2.7.0: 892 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 893 | 894 | node-html-markdown@1.3.0: 895 | resolution: {integrity: sha512-OeFi3QwC/cPjvVKZ114tzzu+YoR+v9UXW5RwSXGUqGb0qCl0DvP406tzdL7SFn8pZrMyzXoisfG2zcuF9+zw4g==} 896 | engines: {node: '>=10.0.0'} 897 | 898 | node-html-parser@6.1.13: 899 | resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} 900 | 901 | nth-check@2.1.1: 902 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 903 | 904 | object-assign@4.1.1: 905 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 906 | engines: {node: '>=0.10.0'} 907 | 908 | package-json-from-dist@1.0.1: 909 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 910 | 911 | parse-entities@4.0.2: 912 | resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} 913 | 914 | path-key@3.1.1: 915 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 916 | engines: {node: '>=8'} 917 | 918 | path-parse@1.0.7: 919 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 920 | 921 | path-scurry@1.11.1: 922 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 923 | engines: {node: '>=16 || 14 >=14.18'} 924 | 925 | picocolors@1.1.1: 926 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 927 | 928 | picomatch@4.0.2: 929 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 930 | engines: {node: '>=12'} 931 | 932 | pirates@4.0.7: 933 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} 934 | engines: {node: '>= 6'} 935 | 936 | postcss-load-config@6.0.1: 937 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 938 | engines: {node: '>= 18'} 939 | peerDependencies: 940 | jiti: '>=1.21.0' 941 | postcss: '>=8.0.9' 942 | tsx: ^4.8.1 943 | yaml: ^2.4.2 944 | peerDependenciesMeta: 945 | jiti: 946 | optional: true 947 | postcss: 948 | optional: true 949 | tsx: 950 | optional: true 951 | yaml: 952 | optional: true 953 | 954 | property-information@7.0.0: 955 | resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==} 956 | 957 | punycode@2.3.1: 958 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 959 | engines: {node: '>=6'} 960 | 961 | react-dom@19.1.0: 962 | resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} 963 | peerDependencies: 964 | react: ^19.1.0 965 | 966 | react@19.1.0: 967 | resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} 968 | engines: {node: '>=0.10.0'} 969 | 970 | readdirp@4.1.2: 971 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 972 | engines: {node: '>= 14.18.0'} 973 | 974 | recma-build-jsx@1.0.0: 975 | resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} 976 | 977 | recma-jsx@1.0.0: 978 | resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} 979 | 980 | recma-parse@1.0.0: 981 | resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} 982 | 983 | recma-stringify@1.0.0: 984 | resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} 985 | 986 | regenerator-runtime@0.14.1: 987 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 988 | 989 | rehype-recma@1.0.0: 990 | resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} 991 | 992 | remark-frontmatter@5.0.0: 993 | resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} 994 | 995 | remark-mdx-frontmatter@4.0.0: 996 | resolution: {integrity: sha512-PZzAiDGOEfv1Ua7exQ8S5kKxkD8CDaSb4nM+1Mprs6u8dyvQifakh+kCj6NovfGXW+bTvrhjaR3srzjS2qJHKg==} 997 | 998 | remark-mdx@3.1.0: 999 | resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} 1000 | 1001 | remark-parse@11.0.0: 1002 | resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} 1003 | 1004 | remark-rehype@11.1.2: 1005 | resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} 1006 | 1007 | resolve-from@5.0.0: 1008 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1009 | engines: {node: '>=8'} 1010 | 1011 | resolve@1.22.10: 1012 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1013 | engines: {node: '>= 0.4'} 1014 | hasBin: true 1015 | 1016 | rollup@4.39.0: 1017 | resolution: {integrity: sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==} 1018 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1019 | hasBin: true 1020 | 1021 | sade@1.8.1: 1022 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 1023 | engines: {node: '>=6'} 1024 | 1025 | scheduler@0.26.0: 1026 | resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} 1027 | 1028 | section-matter@1.0.0: 1029 | resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} 1030 | engines: {node: '>=4'} 1031 | 1032 | shebang-command@2.0.0: 1033 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1034 | engines: {node: '>=8'} 1035 | 1036 | shebang-regex@3.0.0: 1037 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1038 | engines: {node: '>=8'} 1039 | 1040 | signal-exit@4.1.0: 1041 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1042 | engines: {node: '>=14'} 1043 | 1044 | source-map@0.7.4: 1045 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 1046 | engines: {node: '>= 8'} 1047 | 1048 | source-map@0.8.0-beta.0: 1049 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1050 | engines: {node: '>= 8'} 1051 | 1052 | space-separated-tokens@2.0.2: 1053 | resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} 1054 | 1055 | sprintf-js@1.0.3: 1056 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 1057 | 1058 | string-width@4.2.3: 1059 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1060 | engines: {node: '>=8'} 1061 | 1062 | string-width@5.1.2: 1063 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1064 | engines: {node: '>=12'} 1065 | 1066 | stringify-entities@4.0.4: 1067 | resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} 1068 | 1069 | strip-ansi@6.0.1: 1070 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1071 | engines: {node: '>=8'} 1072 | 1073 | strip-ansi@7.1.0: 1074 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1075 | engines: {node: '>=12'} 1076 | 1077 | strip-bom-string@1.0.0: 1078 | resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} 1079 | engines: {node: '>=0.10.0'} 1080 | 1081 | style-to-js@1.1.16: 1082 | resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} 1083 | 1084 | style-to-object@1.0.8: 1085 | resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} 1086 | 1087 | sucrase@3.35.0: 1088 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1089 | engines: {node: '>=16 || 14 >=14.17'} 1090 | hasBin: true 1091 | 1092 | supports-preserve-symlinks-flag@1.0.0: 1093 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1094 | engines: {node: '>= 0.4'} 1095 | 1096 | thenify-all@1.6.0: 1097 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1098 | engines: {node: '>=0.8'} 1099 | 1100 | thenify@3.3.1: 1101 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1102 | 1103 | tinyexec@0.3.2: 1104 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 1105 | 1106 | tinyglobby@0.2.12: 1107 | resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} 1108 | engines: {node: '>=12.0.0'} 1109 | 1110 | toml@3.0.0: 1111 | resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} 1112 | 1113 | tr46@1.0.1: 1114 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 1115 | 1116 | tree-kill@1.2.2: 1117 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1118 | hasBin: true 1119 | 1120 | trim-lines@3.0.1: 1121 | resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 1122 | 1123 | trough@2.2.0: 1124 | resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} 1125 | 1126 | ts-interface-checker@0.1.13: 1127 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1128 | 1129 | tsup@8.4.0: 1130 | resolution: {integrity: sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==} 1131 | engines: {node: '>=18'} 1132 | hasBin: true 1133 | peerDependencies: 1134 | '@microsoft/api-extractor': ^7.36.0 1135 | '@swc/core': ^1 1136 | postcss: ^8.4.12 1137 | typescript: '>=4.5.0' 1138 | peerDependenciesMeta: 1139 | '@microsoft/api-extractor': 1140 | optional: true 1141 | '@swc/core': 1142 | optional: true 1143 | postcss: 1144 | optional: true 1145 | typescript: 1146 | optional: true 1147 | 1148 | turbo-darwin-64@2.5.0: 1149 | resolution: {integrity: sha512-fP1hhI9zY8hv0idym3hAaXdPi80TLovmGmgZFocVAykFtOxF+GlfIgM/l4iLAV9ObIO4SUXPVWHeBZQQ+Hpjag==} 1150 | cpu: [x64] 1151 | os: [darwin] 1152 | 1153 | turbo-darwin-arm64@2.5.0: 1154 | resolution: {integrity: sha512-p9sYq7kXH7qeJwIQE86cOWv/xNqvow846l6c/qWc26Ib1ci5W7V0sI5thsrP3eH+VA0d+SHalTKg5SQXgNQBWA==} 1155 | cpu: [arm64] 1156 | os: [darwin] 1157 | 1158 | turbo-linux-64@2.5.0: 1159 | resolution: {integrity: sha512-1iEln2GWiF3iPPPS1HQJT6ZCFXynJPd89gs9SkggH2EJsj3eRUSVMmMC8y6d7bBbhBFsiGGazwFIYrI12zs6uQ==} 1160 | cpu: [x64] 1161 | os: [linux] 1162 | 1163 | turbo-linux-arm64@2.5.0: 1164 | resolution: {integrity: sha512-bKBcbvuQHmsX116KcxHJuAcppiiBOfivOObh2O5aXNER6mce7YDDQJy00xQQNp1DhEfcSV2uOsvb3O3nN2cbcA==} 1165 | cpu: [arm64] 1166 | os: [linux] 1167 | 1168 | turbo-windows-64@2.5.0: 1169 | resolution: {integrity: sha512-9BCo8oQ7BO7J0K913Czbc3tw8QwLqn2nTe4E47k6aVYkM12ASTScweXPTuaPFP5iYXAT6z5Dsniw704Ixa5eGg==} 1170 | cpu: [x64] 1171 | os: [win32] 1172 | 1173 | turbo-windows-arm64@2.5.0: 1174 | resolution: {integrity: sha512-OUHCV+ueXa3UzfZ4co/ueIHgeq9B2K48pZwIxKSm5VaLVuv8M13MhM7unukW09g++dpdrrE1w4IOVgxKZ0/exg==} 1175 | cpu: [arm64] 1176 | os: [win32] 1177 | 1178 | turbo@2.5.0: 1179 | resolution: {integrity: sha512-PvSRruOsitjy6qdqwIIyolv99+fEn57gP6gn4zhsHTEcCYgXPhv6BAxzAjleS8XKpo+Y582vTTA9nuqYDmbRuA==} 1180 | hasBin: true 1181 | 1182 | typescript@5.8.3: 1183 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 1184 | engines: {node: '>=14.17'} 1185 | hasBin: true 1186 | 1187 | undici-types@6.21.0: 1188 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1189 | 1190 | unified@11.0.5: 1191 | resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} 1192 | 1193 | unist-util-is@6.0.0: 1194 | resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} 1195 | 1196 | unist-util-position-from-estree@2.0.0: 1197 | resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} 1198 | 1199 | unist-util-position@5.0.0: 1200 | resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} 1201 | 1202 | unist-util-stringify-position@4.0.0: 1203 | resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} 1204 | 1205 | unist-util-visit-parents@6.0.1: 1206 | resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} 1207 | 1208 | unist-util-visit@5.0.0: 1209 | resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 1210 | 1211 | uuid@9.0.1: 1212 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} 1213 | hasBin: true 1214 | 1215 | uvu@0.5.6: 1216 | resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} 1217 | engines: {node: '>=8'} 1218 | hasBin: true 1219 | 1220 | vfile-message@4.0.2: 1221 | resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} 1222 | 1223 | vfile@6.0.3: 1224 | resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} 1225 | 1226 | webidl-conversions@4.0.2: 1227 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 1228 | 1229 | whatwg-url@7.1.0: 1230 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 1231 | 1232 | which@2.0.2: 1233 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1234 | engines: {node: '>= 8'} 1235 | hasBin: true 1236 | 1237 | wrap-ansi@7.0.0: 1238 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1239 | engines: {node: '>=10'} 1240 | 1241 | wrap-ansi@8.1.0: 1242 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1243 | engines: {node: '>=12'} 1244 | 1245 | yaml@2.7.1: 1246 | resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} 1247 | engines: {node: '>= 14'} 1248 | hasBin: true 1249 | 1250 | zwitch@2.0.4: 1251 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 1252 | 1253 | snapshots: 1254 | 1255 | '@babel/runtime@7.27.0': 1256 | dependencies: 1257 | regenerator-runtime: 0.14.1 1258 | 1259 | '@esbuild-plugins/node-resolve@0.2.2(esbuild@0.25.2)': 1260 | dependencies: 1261 | '@types/resolve': 1.20.6 1262 | debug: 4.4.0 1263 | esbuild: 0.25.2 1264 | escape-string-regexp: 4.0.0 1265 | resolve: 1.22.10 1266 | transitivePeerDependencies: 1267 | - supports-color 1268 | 1269 | '@esbuild/aix-ppc64@0.25.2': 1270 | optional: true 1271 | 1272 | '@esbuild/android-arm64@0.25.2': 1273 | optional: true 1274 | 1275 | '@esbuild/android-arm@0.25.2': 1276 | optional: true 1277 | 1278 | '@esbuild/android-x64@0.25.2': 1279 | optional: true 1280 | 1281 | '@esbuild/darwin-arm64@0.25.2': 1282 | optional: true 1283 | 1284 | '@esbuild/darwin-x64@0.25.2': 1285 | optional: true 1286 | 1287 | '@esbuild/freebsd-arm64@0.25.2': 1288 | optional: true 1289 | 1290 | '@esbuild/freebsd-x64@0.25.2': 1291 | optional: true 1292 | 1293 | '@esbuild/linux-arm64@0.25.2': 1294 | optional: true 1295 | 1296 | '@esbuild/linux-arm@0.25.2': 1297 | optional: true 1298 | 1299 | '@esbuild/linux-ia32@0.25.2': 1300 | optional: true 1301 | 1302 | '@esbuild/linux-loong64@0.25.2': 1303 | optional: true 1304 | 1305 | '@esbuild/linux-mips64el@0.25.2': 1306 | optional: true 1307 | 1308 | '@esbuild/linux-ppc64@0.25.2': 1309 | optional: true 1310 | 1311 | '@esbuild/linux-riscv64@0.25.2': 1312 | optional: true 1313 | 1314 | '@esbuild/linux-s390x@0.25.2': 1315 | optional: true 1316 | 1317 | '@esbuild/linux-x64@0.25.2': 1318 | optional: true 1319 | 1320 | '@esbuild/netbsd-arm64@0.25.2': 1321 | optional: true 1322 | 1323 | '@esbuild/netbsd-x64@0.25.2': 1324 | optional: true 1325 | 1326 | '@esbuild/openbsd-arm64@0.25.2': 1327 | optional: true 1328 | 1329 | '@esbuild/openbsd-x64@0.25.2': 1330 | optional: true 1331 | 1332 | '@esbuild/sunos-x64@0.25.2': 1333 | optional: true 1334 | 1335 | '@esbuild/win32-arm64@0.25.2': 1336 | optional: true 1337 | 1338 | '@esbuild/win32-ia32@0.25.2': 1339 | optional: true 1340 | 1341 | '@esbuild/win32-x64@0.25.2': 1342 | optional: true 1343 | 1344 | '@fal-works/esbuild-plugin-global-externals@2.1.2': {} 1345 | 1346 | '@isaacs/cliui@8.0.2': 1347 | dependencies: 1348 | string-width: 5.1.2 1349 | string-width-cjs: string-width@4.2.3 1350 | strip-ansi: 7.1.0 1351 | strip-ansi-cjs: strip-ansi@6.0.1 1352 | wrap-ansi: 8.1.0 1353 | wrap-ansi-cjs: wrap-ansi@7.0.0 1354 | 1355 | '@jridgewell/gen-mapping@0.3.8': 1356 | dependencies: 1357 | '@jridgewell/set-array': 1.2.1 1358 | '@jridgewell/sourcemap-codec': 1.5.0 1359 | '@jridgewell/trace-mapping': 0.3.25 1360 | 1361 | '@jridgewell/resolve-uri@3.1.2': {} 1362 | 1363 | '@jridgewell/set-array@1.2.1': {} 1364 | 1365 | '@jridgewell/sourcemap-codec@1.5.0': {} 1366 | 1367 | '@jridgewell/trace-mapping@0.3.25': 1368 | dependencies: 1369 | '@jridgewell/resolve-uri': 3.1.2 1370 | '@jridgewell/sourcemap-codec': 1.5.0 1371 | 1372 | '@mdx-js/esbuild@3.1.0(acorn@8.14.1)(esbuild@0.25.2)': 1373 | dependencies: 1374 | '@mdx-js/mdx': 3.1.0(acorn@8.14.1) 1375 | '@types/unist': 3.0.3 1376 | esbuild: 0.25.2 1377 | source-map: 0.7.4 1378 | vfile: 6.0.3 1379 | vfile-message: 4.0.2 1380 | transitivePeerDependencies: 1381 | - acorn 1382 | - supports-color 1383 | 1384 | '@mdx-js/mdx@3.1.0(acorn@8.14.1)': 1385 | dependencies: 1386 | '@types/estree': 1.0.7 1387 | '@types/estree-jsx': 1.0.5 1388 | '@types/hast': 3.0.4 1389 | '@types/mdx': 2.0.13 1390 | collapse-white-space: 2.1.0 1391 | devlop: 1.1.0 1392 | estree-util-is-identifier-name: 3.0.0 1393 | estree-util-scope: 1.0.0 1394 | estree-walker: 3.0.3 1395 | hast-util-to-jsx-runtime: 2.3.6 1396 | markdown-extensions: 2.0.0 1397 | recma-build-jsx: 1.0.0 1398 | recma-jsx: 1.0.0(acorn@8.14.1) 1399 | recma-stringify: 1.0.0 1400 | rehype-recma: 1.0.0 1401 | remark-mdx: 3.1.0 1402 | remark-parse: 11.0.0 1403 | remark-rehype: 11.1.2 1404 | source-map: 0.7.4 1405 | unified: 11.0.5 1406 | unist-util-position-from-estree: 2.0.0 1407 | unist-util-stringify-position: 4.0.0 1408 | unist-util-visit: 5.0.0 1409 | vfile: 6.0.3 1410 | transitivePeerDependencies: 1411 | - acorn 1412 | - supports-color 1413 | 1414 | '@pkgjs/parseargs@0.11.0': 1415 | optional: true 1416 | 1417 | '@rollup/rollup-android-arm-eabi@4.39.0': 1418 | optional: true 1419 | 1420 | '@rollup/rollup-android-arm64@4.39.0': 1421 | optional: true 1422 | 1423 | '@rollup/rollup-darwin-arm64@4.39.0': 1424 | optional: true 1425 | 1426 | '@rollup/rollup-darwin-x64@4.39.0': 1427 | optional: true 1428 | 1429 | '@rollup/rollup-freebsd-arm64@4.39.0': 1430 | optional: true 1431 | 1432 | '@rollup/rollup-freebsd-x64@4.39.0': 1433 | optional: true 1434 | 1435 | '@rollup/rollup-linux-arm-gnueabihf@4.39.0': 1436 | optional: true 1437 | 1438 | '@rollup/rollup-linux-arm-musleabihf@4.39.0': 1439 | optional: true 1440 | 1441 | '@rollup/rollup-linux-arm64-gnu@4.39.0': 1442 | optional: true 1443 | 1444 | '@rollup/rollup-linux-arm64-musl@4.39.0': 1445 | optional: true 1446 | 1447 | '@rollup/rollup-linux-loongarch64-gnu@4.39.0': 1448 | optional: true 1449 | 1450 | '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': 1451 | optional: true 1452 | 1453 | '@rollup/rollup-linux-riscv64-gnu@4.39.0': 1454 | optional: true 1455 | 1456 | '@rollup/rollup-linux-riscv64-musl@4.39.0': 1457 | optional: true 1458 | 1459 | '@rollup/rollup-linux-s390x-gnu@4.39.0': 1460 | optional: true 1461 | 1462 | '@rollup/rollup-linux-x64-gnu@4.39.0': 1463 | optional: true 1464 | 1465 | '@rollup/rollup-linux-x64-musl@4.39.0': 1466 | optional: true 1467 | 1468 | '@rollup/rollup-win32-arm64-msvc@4.39.0': 1469 | optional: true 1470 | 1471 | '@rollup/rollup-win32-ia32-msvc@4.39.0': 1472 | optional: true 1473 | 1474 | '@rollup/rollup-win32-x64-msvc@4.39.0': 1475 | optional: true 1476 | 1477 | '@types/debug@4.1.12': 1478 | dependencies: 1479 | '@types/ms': 2.1.0 1480 | 1481 | '@types/estree-jsx@1.0.5': 1482 | dependencies: 1483 | '@types/estree': 1.0.7 1484 | 1485 | '@types/estree@1.0.7': {} 1486 | 1487 | '@types/hast@3.0.4': 1488 | dependencies: 1489 | '@types/unist': 3.0.3 1490 | 1491 | '@types/mdast@4.0.4': 1492 | dependencies: 1493 | '@types/unist': 3.0.3 1494 | 1495 | '@types/mdx@2.0.13': {} 1496 | 1497 | '@types/ms@2.1.0': {} 1498 | 1499 | '@types/node@22.14.0': 1500 | dependencies: 1501 | undici-types: 6.21.0 1502 | 1503 | '@types/react-dom@19.1.1(@types/react@19.1.0)': 1504 | dependencies: 1505 | '@types/react': 19.1.0 1506 | 1507 | '@types/react@19.1.0': 1508 | dependencies: 1509 | csstype: 3.1.3 1510 | 1511 | '@types/resolve@1.20.6': {} 1512 | 1513 | '@types/unist@2.0.11': {} 1514 | 1515 | '@types/unist@3.0.3': {} 1516 | 1517 | '@ungap/structured-clone@1.3.0': {} 1518 | 1519 | acorn-jsx@5.3.2(acorn@8.14.1): 1520 | dependencies: 1521 | acorn: 8.14.1 1522 | 1523 | acorn@8.14.1: {} 1524 | 1525 | ansi-regex@5.0.1: {} 1526 | 1527 | ansi-regex@6.1.0: {} 1528 | 1529 | ansi-styles@4.3.0: 1530 | dependencies: 1531 | color-convert: 2.0.1 1532 | 1533 | ansi-styles@6.2.1: {} 1534 | 1535 | any-promise@1.3.0: {} 1536 | 1537 | argparse@1.0.10: 1538 | dependencies: 1539 | sprintf-js: 1.0.3 1540 | 1541 | args-flags@1.1.1: {} 1542 | 1543 | astring@1.9.0: {} 1544 | 1545 | bail@2.0.2: {} 1546 | 1547 | balanced-match@1.0.2: {} 1548 | 1549 | boolbase@1.0.0: {} 1550 | 1551 | brace-expansion@2.0.1: 1552 | dependencies: 1553 | balanced-match: 1.0.2 1554 | 1555 | bundle-require@5.1.0(esbuild@0.25.2): 1556 | dependencies: 1557 | esbuild: 0.25.2 1558 | load-tsconfig: 0.2.5 1559 | 1560 | cac@6.7.14: {} 1561 | 1562 | ccount@2.0.1: {} 1563 | 1564 | character-entities-html4@2.1.0: {} 1565 | 1566 | character-entities-legacy@3.0.0: {} 1567 | 1568 | character-entities@2.0.2: {} 1569 | 1570 | character-reference-invalid@2.0.1: {} 1571 | 1572 | chokidar@4.0.3: 1573 | dependencies: 1574 | readdirp: 4.1.2 1575 | 1576 | collapse-white-space@2.1.0: {} 1577 | 1578 | color-convert@2.0.1: 1579 | dependencies: 1580 | color-name: 1.1.4 1581 | 1582 | color-name@1.1.4: {} 1583 | 1584 | comma-separated-tokens@2.0.3: {} 1585 | 1586 | commander@4.1.1: {} 1587 | 1588 | consola@3.4.2: {} 1589 | 1590 | cross-spawn@7.0.6: 1591 | dependencies: 1592 | path-key: 3.1.1 1593 | shebang-command: 2.0.0 1594 | which: 2.0.2 1595 | 1596 | css-select@5.1.0: 1597 | dependencies: 1598 | boolbase: 1.0.0 1599 | css-what: 6.1.0 1600 | domhandler: 5.0.3 1601 | domutils: 3.2.2 1602 | nth-check: 2.1.1 1603 | 1604 | css-what@6.1.0: {} 1605 | 1606 | csstype@3.1.3: {} 1607 | 1608 | debug@4.4.0: 1609 | dependencies: 1610 | ms: 2.1.3 1611 | 1612 | decode-named-character-reference@1.1.0: 1613 | dependencies: 1614 | character-entities: 2.0.2 1615 | 1616 | dequal@2.0.3: {} 1617 | 1618 | devlop@1.1.0: 1619 | dependencies: 1620 | dequal: 2.0.3 1621 | 1622 | diff@5.2.0: {} 1623 | 1624 | dom-serializer@2.0.0: 1625 | dependencies: 1626 | domelementtype: 2.3.0 1627 | domhandler: 5.0.3 1628 | entities: 4.5.0 1629 | 1630 | domelementtype@2.3.0: {} 1631 | 1632 | domhandler@5.0.3: 1633 | dependencies: 1634 | domelementtype: 2.3.0 1635 | 1636 | domutils@3.2.2: 1637 | dependencies: 1638 | dom-serializer: 2.0.0 1639 | domelementtype: 2.3.0 1640 | domhandler: 5.0.3 1641 | 1642 | eastasianwidth@0.2.0: {} 1643 | 1644 | emoji-regex@8.0.0: {} 1645 | 1646 | emoji-regex@9.2.2: {} 1647 | 1648 | entities@4.5.0: {} 1649 | 1650 | esast-util-from-estree@2.0.0: 1651 | dependencies: 1652 | '@types/estree-jsx': 1.0.5 1653 | devlop: 1.1.0 1654 | estree-util-visit: 2.0.0 1655 | unist-util-position-from-estree: 2.0.0 1656 | 1657 | esast-util-from-js@2.0.1: 1658 | dependencies: 1659 | '@types/estree-jsx': 1.0.5 1660 | acorn: 8.14.1 1661 | esast-util-from-estree: 2.0.0 1662 | vfile-message: 4.0.2 1663 | 1664 | esbuild-register@3.6.0(esbuild@0.25.2): 1665 | dependencies: 1666 | debug: 4.4.0 1667 | esbuild: 0.25.2 1668 | transitivePeerDependencies: 1669 | - supports-color 1670 | 1671 | esbuild@0.25.2: 1672 | optionalDependencies: 1673 | '@esbuild/aix-ppc64': 0.25.2 1674 | '@esbuild/android-arm': 0.25.2 1675 | '@esbuild/android-arm64': 0.25.2 1676 | '@esbuild/android-x64': 0.25.2 1677 | '@esbuild/darwin-arm64': 0.25.2 1678 | '@esbuild/darwin-x64': 0.25.2 1679 | '@esbuild/freebsd-arm64': 0.25.2 1680 | '@esbuild/freebsd-x64': 0.25.2 1681 | '@esbuild/linux-arm': 0.25.2 1682 | '@esbuild/linux-arm64': 0.25.2 1683 | '@esbuild/linux-ia32': 0.25.2 1684 | '@esbuild/linux-loong64': 0.25.2 1685 | '@esbuild/linux-mips64el': 0.25.2 1686 | '@esbuild/linux-ppc64': 0.25.2 1687 | '@esbuild/linux-riscv64': 0.25.2 1688 | '@esbuild/linux-s390x': 0.25.2 1689 | '@esbuild/linux-x64': 0.25.2 1690 | '@esbuild/netbsd-arm64': 0.25.2 1691 | '@esbuild/netbsd-x64': 0.25.2 1692 | '@esbuild/openbsd-arm64': 0.25.2 1693 | '@esbuild/openbsd-x64': 0.25.2 1694 | '@esbuild/sunos-x64': 0.25.2 1695 | '@esbuild/win32-arm64': 0.25.2 1696 | '@esbuild/win32-ia32': 0.25.2 1697 | '@esbuild/win32-x64': 0.25.2 1698 | 1699 | escape-string-regexp@4.0.0: {} 1700 | 1701 | escape-string-regexp@5.0.0: {} 1702 | 1703 | esprima@4.0.1: {} 1704 | 1705 | estree-util-attach-comments@3.0.0: 1706 | dependencies: 1707 | '@types/estree': 1.0.7 1708 | 1709 | estree-util-build-jsx@3.0.1: 1710 | dependencies: 1711 | '@types/estree-jsx': 1.0.5 1712 | devlop: 1.1.0 1713 | estree-util-is-identifier-name: 3.0.0 1714 | estree-walker: 3.0.3 1715 | 1716 | estree-util-is-identifier-name@3.0.0: {} 1717 | 1718 | estree-util-scope@1.0.0: 1719 | dependencies: 1720 | '@types/estree': 1.0.7 1721 | devlop: 1.1.0 1722 | 1723 | estree-util-to-js@2.0.0: 1724 | dependencies: 1725 | '@types/estree-jsx': 1.0.5 1726 | astring: 1.9.0 1727 | source-map: 0.7.4 1728 | 1729 | estree-util-value-to-estree@3.3.3: 1730 | dependencies: 1731 | '@types/estree': 1.0.7 1732 | 1733 | estree-util-visit@2.0.0: 1734 | dependencies: 1735 | '@types/estree-jsx': 1.0.5 1736 | '@types/unist': 3.0.3 1737 | 1738 | estree-walker@3.0.3: 1739 | dependencies: 1740 | '@types/estree': 1.0.7 1741 | 1742 | extend-shallow@2.0.1: 1743 | dependencies: 1744 | is-extendable: 0.1.1 1745 | 1746 | extend@3.0.2: {} 1747 | 1748 | fault@2.0.1: 1749 | dependencies: 1750 | format: 0.2.2 1751 | 1752 | fdir@6.4.3(picomatch@4.0.2): 1753 | optionalDependencies: 1754 | picomatch: 4.0.2 1755 | 1756 | foreground-child@3.3.1: 1757 | dependencies: 1758 | cross-spawn: 7.0.6 1759 | signal-exit: 4.1.0 1760 | 1761 | format@0.2.2: {} 1762 | 1763 | fsevents@2.3.3: 1764 | optional: true 1765 | 1766 | function-bind@1.1.2: {} 1767 | 1768 | glob@10.4.5: 1769 | dependencies: 1770 | foreground-child: 3.3.1 1771 | jackspeak: 3.4.3 1772 | minimatch: 9.0.5 1773 | minipass: 7.1.2 1774 | package-json-from-dist: 1.0.1 1775 | path-scurry: 1.11.1 1776 | 1777 | gray-matter@4.0.3: 1778 | dependencies: 1779 | js-yaml: 3.14.1 1780 | kind-of: 6.0.3 1781 | section-matter: 1.0.0 1782 | strip-bom-string: 1.0.0 1783 | 1784 | hasown@2.0.2: 1785 | dependencies: 1786 | function-bind: 1.1.2 1787 | 1788 | hast-util-to-estree@3.1.3: 1789 | dependencies: 1790 | '@types/estree': 1.0.7 1791 | '@types/estree-jsx': 1.0.5 1792 | '@types/hast': 3.0.4 1793 | comma-separated-tokens: 2.0.3 1794 | devlop: 1.1.0 1795 | estree-util-attach-comments: 3.0.0 1796 | estree-util-is-identifier-name: 3.0.0 1797 | hast-util-whitespace: 3.0.0 1798 | mdast-util-mdx-expression: 2.0.1 1799 | mdast-util-mdx-jsx: 3.2.0 1800 | mdast-util-mdxjs-esm: 2.0.1 1801 | property-information: 7.0.0 1802 | space-separated-tokens: 2.0.2 1803 | style-to-js: 1.1.16 1804 | unist-util-position: 5.0.0 1805 | zwitch: 2.0.4 1806 | transitivePeerDependencies: 1807 | - supports-color 1808 | 1809 | hast-util-to-jsx-runtime@2.3.6: 1810 | dependencies: 1811 | '@types/estree': 1.0.7 1812 | '@types/hast': 3.0.4 1813 | '@types/unist': 3.0.3 1814 | comma-separated-tokens: 2.0.3 1815 | devlop: 1.1.0 1816 | estree-util-is-identifier-name: 3.0.0 1817 | hast-util-whitespace: 3.0.0 1818 | mdast-util-mdx-expression: 2.0.1 1819 | mdast-util-mdx-jsx: 3.2.0 1820 | mdast-util-mdxjs-esm: 2.0.1 1821 | property-information: 7.0.0 1822 | space-separated-tokens: 2.0.2 1823 | style-to-js: 1.1.16 1824 | unist-util-position: 5.0.0 1825 | vfile-message: 4.0.2 1826 | transitivePeerDependencies: 1827 | - supports-color 1828 | 1829 | hast-util-whitespace@3.0.0: 1830 | dependencies: 1831 | '@types/hast': 3.0.4 1832 | 1833 | he@1.2.0: {} 1834 | 1835 | inline-style-parser@0.2.4: {} 1836 | 1837 | is-alphabetical@2.0.1: {} 1838 | 1839 | is-alphanumerical@2.0.1: 1840 | dependencies: 1841 | is-alphabetical: 2.0.1 1842 | is-decimal: 2.0.1 1843 | 1844 | is-core-module@2.16.1: 1845 | dependencies: 1846 | hasown: 2.0.2 1847 | 1848 | is-decimal@2.0.1: {} 1849 | 1850 | is-extendable@0.1.1: {} 1851 | 1852 | is-fullwidth-code-point@3.0.0: {} 1853 | 1854 | is-hexadecimal@2.0.1: {} 1855 | 1856 | is-plain-obj@4.1.0: {} 1857 | 1858 | isexe@2.0.0: {} 1859 | 1860 | jackspeak@3.4.3: 1861 | dependencies: 1862 | '@isaacs/cliui': 8.0.2 1863 | optionalDependencies: 1864 | '@pkgjs/parseargs': 0.11.0 1865 | 1866 | joycon@3.1.1: {} 1867 | 1868 | js-yaml@3.14.1: 1869 | dependencies: 1870 | argparse: 1.0.10 1871 | esprima: 4.0.1 1872 | 1873 | kind-of@6.0.3: {} 1874 | 1875 | kleur@4.1.5: {} 1876 | 1877 | lilconfig@3.1.3: {} 1878 | 1879 | lines-and-columns@1.2.4: {} 1880 | 1881 | load-tsconfig@0.2.5: {} 1882 | 1883 | lodash.sortby@4.7.0: {} 1884 | 1885 | longest-streak@3.1.0: {} 1886 | 1887 | lru-cache@10.4.3: {} 1888 | 1889 | markdown-extensions@2.0.0: {} 1890 | 1891 | mdast-util-from-markdown@2.0.2: 1892 | dependencies: 1893 | '@types/mdast': 4.0.4 1894 | '@types/unist': 3.0.3 1895 | decode-named-character-reference: 1.1.0 1896 | devlop: 1.1.0 1897 | mdast-util-to-string: 4.0.0 1898 | micromark: 4.0.2 1899 | micromark-util-decode-numeric-character-reference: 2.0.2 1900 | micromark-util-decode-string: 2.0.1 1901 | micromark-util-normalize-identifier: 2.0.1 1902 | micromark-util-symbol: 2.0.1 1903 | micromark-util-types: 2.0.2 1904 | unist-util-stringify-position: 4.0.0 1905 | transitivePeerDependencies: 1906 | - supports-color 1907 | 1908 | mdast-util-frontmatter@2.0.1: 1909 | dependencies: 1910 | '@types/mdast': 4.0.4 1911 | devlop: 1.1.0 1912 | escape-string-regexp: 5.0.0 1913 | mdast-util-from-markdown: 2.0.2 1914 | mdast-util-to-markdown: 2.1.2 1915 | micromark-extension-frontmatter: 2.0.0 1916 | transitivePeerDependencies: 1917 | - supports-color 1918 | 1919 | mdast-util-mdx-expression@2.0.1: 1920 | dependencies: 1921 | '@types/estree-jsx': 1.0.5 1922 | '@types/hast': 3.0.4 1923 | '@types/mdast': 4.0.4 1924 | devlop: 1.1.0 1925 | mdast-util-from-markdown: 2.0.2 1926 | mdast-util-to-markdown: 2.1.2 1927 | transitivePeerDependencies: 1928 | - supports-color 1929 | 1930 | mdast-util-mdx-jsx@3.2.0: 1931 | dependencies: 1932 | '@types/estree-jsx': 1.0.5 1933 | '@types/hast': 3.0.4 1934 | '@types/mdast': 4.0.4 1935 | '@types/unist': 3.0.3 1936 | ccount: 2.0.1 1937 | devlop: 1.1.0 1938 | mdast-util-from-markdown: 2.0.2 1939 | mdast-util-to-markdown: 2.1.2 1940 | parse-entities: 4.0.2 1941 | stringify-entities: 4.0.4 1942 | unist-util-stringify-position: 4.0.0 1943 | vfile-message: 4.0.2 1944 | transitivePeerDependencies: 1945 | - supports-color 1946 | 1947 | mdast-util-mdx@3.0.0: 1948 | dependencies: 1949 | mdast-util-from-markdown: 2.0.2 1950 | mdast-util-mdx-expression: 2.0.1 1951 | mdast-util-mdx-jsx: 3.2.0 1952 | mdast-util-mdxjs-esm: 2.0.1 1953 | mdast-util-to-markdown: 2.1.2 1954 | transitivePeerDependencies: 1955 | - supports-color 1956 | 1957 | mdast-util-mdxjs-esm@2.0.1: 1958 | dependencies: 1959 | '@types/estree-jsx': 1.0.5 1960 | '@types/hast': 3.0.4 1961 | '@types/mdast': 4.0.4 1962 | devlop: 1.1.0 1963 | mdast-util-from-markdown: 2.0.2 1964 | mdast-util-to-markdown: 2.1.2 1965 | transitivePeerDependencies: 1966 | - supports-color 1967 | 1968 | mdast-util-phrasing@4.1.0: 1969 | dependencies: 1970 | '@types/mdast': 4.0.4 1971 | unist-util-is: 6.0.0 1972 | 1973 | mdast-util-to-hast@13.2.0: 1974 | dependencies: 1975 | '@types/hast': 3.0.4 1976 | '@types/mdast': 4.0.4 1977 | '@ungap/structured-clone': 1.3.0 1978 | devlop: 1.1.0 1979 | micromark-util-sanitize-uri: 2.0.1 1980 | trim-lines: 3.0.1 1981 | unist-util-position: 5.0.0 1982 | unist-util-visit: 5.0.0 1983 | vfile: 6.0.3 1984 | 1985 | mdast-util-to-markdown@2.1.2: 1986 | dependencies: 1987 | '@types/mdast': 4.0.4 1988 | '@types/unist': 3.0.3 1989 | longest-streak: 3.1.0 1990 | mdast-util-phrasing: 4.1.0 1991 | mdast-util-to-string: 4.0.0 1992 | micromark-util-classify-character: 2.0.1 1993 | micromark-util-decode-string: 2.0.1 1994 | unist-util-visit: 5.0.0 1995 | zwitch: 2.0.4 1996 | 1997 | mdast-util-to-string@4.0.0: 1998 | dependencies: 1999 | '@types/mdast': 4.0.4 2000 | 2001 | mdx-bundler@10.1.1(acorn@8.14.1)(esbuild@0.25.2): 2002 | dependencies: 2003 | '@babel/runtime': 7.27.0 2004 | '@esbuild-plugins/node-resolve': 0.2.2(esbuild@0.25.2) 2005 | '@fal-works/esbuild-plugin-global-externals': 2.1.2 2006 | '@mdx-js/esbuild': 3.1.0(acorn@8.14.1)(esbuild@0.25.2) 2007 | esbuild: 0.25.2 2008 | gray-matter: 4.0.3 2009 | remark-frontmatter: 5.0.0 2010 | remark-mdx-frontmatter: 4.0.0 2011 | uuid: 9.0.1 2012 | vfile: 6.0.3 2013 | transitivePeerDependencies: 2014 | - acorn 2015 | - supports-color 2016 | 2017 | micromark-core-commonmark@2.0.3: 2018 | dependencies: 2019 | decode-named-character-reference: 1.1.0 2020 | devlop: 1.1.0 2021 | micromark-factory-destination: 2.0.1 2022 | micromark-factory-label: 2.0.1 2023 | micromark-factory-space: 2.0.1 2024 | micromark-factory-title: 2.0.1 2025 | micromark-factory-whitespace: 2.0.1 2026 | micromark-util-character: 2.1.1 2027 | micromark-util-chunked: 2.0.1 2028 | micromark-util-classify-character: 2.0.1 2029 | micromark-util-html-tag-name: 2.0.1 2030 | micromark-util-normalize-identifier: 2.0.1 2031 | micromark-util-resolve-all: 2.0.1 2032 | micromark-util-subtokenize: 2.1.0 2033 | micromark-util-symbol: 2.0.1 2034 | micromark-util-types: 2.0.2 2035 | 2036 | micromark-extension-frontmatter@2.0.0: 2037 | dependencies: 2038 | fault: 2.0.1 2039 | micromark-util-character: 2.1.1 2040 | micromark-util-symbol: 2.0.1 2041 | micromark-util-types: 2.0.2 2042 | 2043 | micromark-extension-mdx-expression@3.0.1: 2044 | dependencies: 2045 | '@types/estree': 1.0.7 2046 | devlop: 1.1.0 2047 | micromark-factory-mdx-expression: 2.0.3 2048 | micromark-factory-space: 2.0.1 2049 | micromark-util-character: 2.1.1 2050 | micromark-util-events-to-acorn: 2.0.3 2051 | micromark-util-symbol: 2.0.1 2052 | micromark-util-types: 2.0.2 2053 | 2054 | micromark-extension-mdx-jsx@3.0.2: 2055 | dependencies: 2056 | '@types/estree': 1.0.7 2057 | devlop: 1.1.0 2058 | estree-util-is-identifier-name: 3.0.0 2059 | micromark-factory-mdx-expression: 2.0.3 2060 | micromark-factory-space: 2.0.1 2061 | micromark-util-character: 2.1.1 2062 | micromark-util-events-to-acorn: 2.0.3 2063 | micromark-util-symbol: 2.0.1 2064 | micromark-util-types: 2.0.2 2065 | vfile-message: 4.0.2 2066 | 2067 | micromark-extension-mdx-md@2.0.0: 2068 | dependencies: 2069 | micromark-util-types: 2.0.2 2070 | 2071 | micromark-extension-mdxjs-esm@3.0.0: 2072 | dependencies: 2073 | '@types/estree': 1.0.7 2074 | devlop: 1.1.0 2075 | micromark-core-commonmark: 2.0.3 2076 | micromark-util-character: 2.1.1 2077 | micromark-util-events-to-acorn: 2.0.3 2078 | micromark-util-symbol: 2.0.1 2079 | micromark-util-types: 2.0.2 2080 | unist-util-position-from-estree: 2.0.0 2081 | vfile-message: 4.0.2 2082 | 2083 | micromark-extension-mdxjs@3.0.0: 2084 | dependencies: 2085 | acorn: 8.14.1 2086 | acorn-jsx: 5.3.2(acorn@8.14.1) 2087 | micromark-extension-mdx-expression: 3.0.1 2088 | micromark-extension-mdx-jsx: 3.0.2 2089 | micromark-extension-mdx-md: 2.0.0 2090 | micromark-extension-mdxjs-esm: 3.0.0 2091 | micromark-util-combine-extensions: 2.0.1 2092 | micromark-util-types: 2.0.2 2093 | 2094 | micromark-factory-destination@2.0.1: 2095 | dependencies: 2096 | micromark-util-character: 2.1.1 2097 | micromark-util-symbol: 2.0.1 2098 | micromark-util-types: 2.0.2 2099 | 2100 | micromark-factory-label@2.0.1: 2101 | dependencies: 2102 | devlop: 1.1.0 2103 | micromark-util-character: 2.1.1 2104 | micromark-util-symbol: 2.0.1 2105 | micromark-util-types: 2.0.2 2106 | 2107 | micromark-factory-mdx-expression@2.0.3: 2108 | dependencies: 2109 | '@types/estree': 1.0.7 2110 | devlop: 1.1.0 2111 | micromark-factory-space: 2.0.1 2112 | micromark-util-character: 2.1.1 2113 | micromark-util-events-to-acorn: 2.0.3 2114 | micromark-util-symbol: 2.0.1 2115 | micromark-util-types: 2.0.2 2116 | unist-util-position-from-estree: 2.0.0 2117 | vfile-message: 4.0.2 2118 | 2119 | micromark-factory-space@2.0.1: 2120 | dependencies: 2121 | micromark-util-character: 2.1.1 2122 | micromark-util-types: 2.0.2 2123 | 2124 | micromark-factory-title@2.0.1: 2125 | dependencies: 2126 | micromark-factory-space: 2.0.1 2127 | micromark-util-character: 2.1.1 2128 | micromark-util-symbol: 2.0.1 2129 | micromark-util-types: 2.0.2 2130 | 2131 | micromark-factory-whitespace@2.0.1: 2132 | dependencies: 2133 | micromark-factory-space: 2.0.1 2134 | micromark-util-character: 2.1.1 2135 | micromark-util-symbol: 2.0.1 2136 | micromark-util-types: 2.0.2 2137 | 2138 | micromark-util-character@2.1.1: 2139 | dependencies: 2140 | micromark-util-symbol: 2.0.1 2141 | micromark-util-types: 2.0.2 2142 | 2143 | micromark-util-chunked@2.0.1: 2144 | dependencies: 2145 | micromark-util-symbol: 2.0.1 2146 | 2147 | micromark-util-classify-character@2.0.1: 2148 | dependencies: 2149 | micromark-util-character: 2.1.1 2150 | micromark-util-symbol: 2.0.1 2151 | micromark-util-types: 2.0.2 2152 | 2153 | micromark-util-combine-extensions@2.0.1: 2154 | dependencies: 2155 | micromark-util-chunked: 2.0.1 2156 | micromark-util-types: 2.0.2 2157 | 2158 | micromark-util-decode-numeric-character-reference@2.0.2: 2159 | dependencies: 2160 | micromark-util-symbol: 2.0.1 2161 | 2162 | micromark-util-decode-string@2.0.1: 2163 | dependencies: 2164 | decode-named-character-reference: 1.1.0 2165 | micromark-util-character: 2.1.1 2166 | micromark-util-decode-numeric-character-reference: 2.0.2 2167 | micromark-util-symbol: 2.0.1 2168 | 2169 | micromark-util-encode@2.0.1: {} 2170 | 2171 | micromark-util-events-to-acorn@2.0.3: 2172 | dependencies: 2173 | '@types/estree': 1.0.7 2174 | '@types/unist': 3.0.3 2175 | devlop: 1.1.0 2176 | estree-util-visit: 2.0.0 2177 | micromark-util-symbol: 2.0.1 2178 | micromark-util-types: 2.0.2 2179 | vfile-message: 4.0.2 2180 | 2181 | micromark-util-html-tag-name@2.0.1: {} 2182 | 2183 | micromark-util-normalize-identifier@2.0.1: 2184 | dependencies: 2185 | micromark-util-symbol: 2.0.1 2186 | 2187 | micromark-util-resolve-all@2.0.1: 2188 | dependencies: 2189 | micromark-util-types: 2.0.2 2190 | 2191 | micromark-util-sanitize-uri@2.0.1: 2192 | dependencies: 2193 | micromark-util-character: 2.1.1 2194 | micromark-util-encode: 2.0.1 2195 | micromark-util-symbol: 2.0.1 2196 | 2197 | micromark-util-subtokenize@2.1.0: 2198 | dependencies: 2199 | devlop: 1.1.0 2200 | micromark-util-chunked: 2.0.1 2201 | micromark-util-symbol: 2.0.1 2202 | micromark-util-types: 2.0.2 2203 | 2204 | micromark-util-symbol@2.0.1: {} 2205 | 2206 | micromark-util-types@2.0.2: {} 2207 | 2208 | micromark@4.0.2: 2209 | dependencies: 2210 | '@types/debug': 4.1.12 2211 | debug: 4.4.0 2212 | decode-named-character-reference: 1.1.0 2213 | devlop: 1.1.0 2214 | micromark-core-commonmark: 2.0.3 2215 | micromark-factory-space: 2.0.1 2216 | micromark-util-character: 2.1.1 2217 | micromark-util-chunked: 2.0.1 2218 | micromark-util-combine-extensions: 2.0.1 2219 | micromark-util-decode-numeric-character-reference: 2.0.2 2220 | micromark-util-encode: 2.0.1 2221 | micromark-util-normalize-identifier: 2.0.1 2222 | micromark-util-resolve-all: 2.0.1 2223 | micromark-util-sanitize-uri: 2.0.1 2224 | micromark-util-subtokenize: 2.1.0 2225 | micromark-util-symbol: 2.0.1 2226 | micromark-util-types: 2.0.2 2227 | transitivePeerDependencies: 2228 | - supports-color 2229 | 2230 | minimatch@9.0.5: 2231 | dependencies: 2232 | brace-expansion: 2.0.1 2233 | 2234 | minipass@7.1.2: {} 2235 | 2236 | mri@1.2.0: {} 2237 | 2238 | ms@2.1.3: {} 2239 | 2240 | mz@2.7.0: 2241 | dependencies: 2242 | any-promise: 1.3.0 2243 | object-assign: 4.1.1 2244 | thenify-all: 1.6.0 2245 | 2246 | node-html-markdown@1.3.0: 2247 | dependencies: 2248 | node-html-parser: 6.1.13 2249 | 2250 | node-html-parser@6.1.13: 2251 | dependencies: 2252 | css-select: 5.1.0 2253 | he: 1.2.0 2254 | 2255 | nth-check@2.1.1: 2256 | dependencies: 2257 | boolbase: 1.0.0 2258 | 2259 | object-assign@4.1.1: {} 2260 | 2261 | package-json-from-dist@1.0.1: {} 2262 | 2263 | parse-entities@4.0.2: 2264 | dependencies: 2265 | '@types/unist': 2.0.11 2266 | character-entities-legacy: 3.0.0 2267 | character-reference-invalid: 2.0.1 2268 | decode-named-character-reference: 1.1.0 2269 | is-alphanumerical: 2.0.1 2270 | is-decimal: 2.0.1 2271 | is-hexadecimal: 2.0.1 2272 | 2273 | path-key@3.1.1: {} 2274 | 2275 | path-parse@1.0.7: {} 2276 | 2277 | path-scurry@1.11.1: 2278 | dependencies: 2279 | lru-cache: 10.4.3 2280 | minipass: 7.1.2 2281 | 2282 | picocolors@1.1.1: {} 2283 | 2284 | picomatch@4.0.2: {} 2285 | 2286 | pirates@4.0.7: {} 2287 | 2288 | postcss-load-config@6.0.1(yaml@2.7.1): 2289 | dependencies: 2290 | lilconfig: 3.1.3 2291 | optionalDependencies: 2292 | yaml: 2.7.1 2293 | 2294 | property-information@7.0.0: {} 2295 | 2296 | punycode@2.3.1: {} 2297 | 2298 | react-dom@19.1.0(react@19.1.0): 2299 | dependencies: 2300 | react: 19.1.0 2301 | scheduler: 0.26.0 2302 | 2303 | react@19.1.0: {} 2304 | 2305 | readdirp@4.1.2: {} 2306 | 2307 | recma-build-jsx@1.0.0: 2308 | dependencies: 2309 | '@types/estree': 1.0.7 2310 | estree-util-build-jsx: 3.0.1 2311 | vfile: 6.0.3 2312 | 2313 | recma-jsx@1.0.0(acorn@8.14.1): 2314 | dependencies: 2315 | acorn-jsx: 5.3.2(acorn@8.14.1) 2316 | estree-util-to-js: 2.0.0 2317 | recma-parse: 1.0.0 2318 | recma-stringify: 1.0.0 2319 | unified: 11.0.5 2320 | transitivePeerDependencies: 2321 | - acorn 2322 | 2323 | recma-parse@1.0.0: 2324 | dependencies: 2325 | '@types/estree': 1.0.7 2326 | esast-util-from-js: 2.0.1 2327 | unified: 11.0.5 2328 | vfile: 6.0.3 2329 | 2330 | recma-stringify@1.0.0: 2331 | dependencies: 2332 | '@types/estree': 1.0.7 2333 | estree-util-to-js: 2.0.0 2334 | unified: 11.0.5 2335 | vfile: 6.0.3 2336 | 2337 | regenerator-runtime@0.14.1: {} 2338 | 2339 | rehype-recma@1.0.0: 2340 | dependencies: 2341 | '@types/estree': 1.0.7 2342 | '@types/hast': 3.0.4 2343 | hast-util-to-estree: 3.1.3 2344 | transitivePeerDependencies: 2345 | - supports-color 2346 | 2347 | remark-frontmatter@5.0.0: 2348 | dependencies: 2349 | '@types/mdast': 4.0.4 2350 | mdast-util-frontmatter: 2.0.1 2351 | micromark-extension-frontmatter: 2.0.0 2352 | unified: 11.0.5 2353 | transitivePeerDependencies: 2354 | - supports-color 2355 | 2356 | remark-mdx-frontmatter@4.0.0: 2357 | dependencies: 2358 | '@types/mdast': 4.0.4 2359 | estree-util-is-identifier-name: 3.0.0 2360 | estree-util-value-to-estree: 3.3.3 2361 | toml: 3.0.0 2362 | unified: 11.0.5 2363 | yaml: 2.7.1 2364 | 2365 | remark-mdx@3.1.0: 2366 | dependencies: 2367 | mdast-util-mdx: 3.0.0 2368 | micromark-extension-mdxjs: 3.0.0 2369 | transitivePeerDependencies: 2370 | - supports-color 2371 | 2372 | remark-parse@11.0.0: 2373 | dependencies: 2374 | '@types/mdast': 4.0.4 2375 | mdast-util-from-markdown: 2.0.2 2376 | micromark-util-types: 2.0.2 2377 | unified: 11.0.5 2378 | transitivePeerDependencies: 2379 | - supports-color 2380 | 2381 | remark-rehype@11.1.2: 2382 | dependencies: 2383 | '@types/hast': 3.0.4 2384 | '@types/mdast': 4.0.4 2385 | mdast-util-to-hast: 13.2.0 2386 | unified: 11.0.5 2387 | vfile: 6.0.3 2388 | 2389 | resolve-from@5.0.0: {} 2390 | 2391 | resolve@1.22.10: 2392 | dependencies: 2393 | is-core-module: 2.16.1 2394 | path-parse: 1.0.7 2395 | supports-preserve-symlinks-flag: 1.0.0 2396 | 2397 | rollup@4.39.0: 2398 | dependencies: 2399 | '@types/estree': 1.0.7 2400 | optionalDependencies: 2401 | '@rollup/rollup-android-arm-eabi': 4.39.0 2402 | '@rollup/rollup-android-arm64': 4.39.0 2403 | '@rollup/rollup-darwin-arm64': 4.39.0 2404 | '@rollup/rollup-darwin-x64': 4.39.0 2405 | '@rollup/rollup-freebsd-arm64': 4.39.0 2406 | '@rollup/rollup-freebsd-x64': 4.39.0 2407 | '@rollup/rollup-linux-arm-gnueabihf': 4.39.0 2408 | '@rollup/rollup-linux-arm-musleabihf': 4.39.0 2409 | '@rollup/rollup-linux-arm64-gnu': 4.39.0 2410 | '@rollup/rollup-linux-arm64-musl': 4.39.0 2411 | '@rollup/rollup-linux-loongarch64-gnu': 4.39.0 2412 | '@rollup/rollup-linux-powerpc64le-gnu': 4.39.0 2413 | '@rollup/rollup-linux-riscv64-gnu': 4.39.0 2414 | '@rollup/rollup-linux-riscv64-musl': 4.39.0 2415 | '@rollup/rollup-linux-s390x-gnu': 4.39.0 2416 | '@rollup/rollup-linux-x64-gnu': 4.39.0 2417 | '@rollup/rollup-linux-x64-musl': 4.39.0 2418 | '@rollup/rollup-win32-arm64-msvc': 4.39.0 2419 | '@rollup/rollup-win32-ia32-msvc': 4.39.0 2420 | '@rollup/rollup-win32-x64-msvc': 4.39.0 2421 | fsevents: 2.3.3 2422 | 2423 | sade@1.8.1: 2424 | dependencies: 2425 | mri: 1.2.0 2426 | 2427 | scheduler@0.26.0: {} 2428 | 2429 | section-matter@1.0.0: 2430 | dependencies: 2431 | extend-shallow: 2.0.1 2432 | kind-of: 6.0.3 2433 | 2434 | shebang-command@2.0.0: 2435 | dependencies: 2436 | shebang-regex: 3.0.0 2437 | 2438 | shebang-regex@3.0.0: {} 2439 | 2440 | signal-exit@4.1.0: {} 2441 | 2442 | source-map@0.7.4: {} 2443 | 2444 | source-map@0.8.0-beta.0: 2445 | dependencies: 2446 | whatwg-url: 7.1.0 2447 | 2448 | space-separated-tokens@2.0.2: {} 2449 | 2450 | sprintf-js@1.0.3: {} 2451 | 2452 | string-width@4.2.3: 2453 | dependencies: 2454 | emoji-regex: 8.0.0 2455 | is-fullwidth-code-point: 3.0.0 2456 | strip-ansi: 6.0.1 2457 | 2458 | string-width@5.1.2: 2459 | dependencies: 2460 | eastasianwidth: 0.2.0 2461 | emoji-regex: 9.2.2 2462 | strip-ansi: 7.1.0 2463 | 2464 | stringify-entities@4.0.4: 2465 | dependencies: 2466 | character-entities-html4: 2.1.0 2467 | character-entities-legacy: 3.0.0 2468 | 2469 | strip-ansi@6.0.1: 2470 | dependencies: 2471 | ansi-regex: 5.0.1 2472 | 2473 | strip-ansi@7.1.0: 2474 | dependencies: 2475 | ansi-regex: 6.1.0 2476 | 2477 | strip-bom-string@1.0.0: {} 2478 | 2479 | style-to-js@1.1.16: 2480 | dependencies: 2481 | style-to-object: 1.0.8 2482 | 2483 | style-to-object@1.0.8: 2484 | dependencies: 2485 | inline-style-parser: 0.2.4 2486 | 2487 | sucrase@3.35.0: 2488 | dependencies: 2489 | '@jridgewell/gen-mapping': 0.3.8 2490 | commander: 4.1.1 2491 | glob: 10.4.5 2492 | lines-and-columns: 1.2.4 2493 | mz: 2.7.0 2494 | pirates: 4.0.7 2495 | ts-interface-checker: 0.1.13 2496 | 2497 | supports-preserve-symlinks-flag@1.0.0: {} 2498 | 2499 | thenify-all@1.6.0: 2500 | dependencies: 2501 | thenify: 3.3.1 2502 | 2503 | thenify@3.3.1: 2504 | dependencies: 2505 | any-promise: 1.3.0 2506 | 2507 | tinyexec@0.3.2: {} 2508 | 2509 | tinyglobby@0.2.12: 2510 | dependencies: 2511 | fdir: 6.4.3(picomatch@4.0.2) 2512 | picomatch: 4.0.2 2513 | 2514 | toml@3.0.0: {} 2515 | 2516 | tr46@1.0.1: 2517 | dependencies: 2518 | punycode: 2.3.1 2519 | 2520 | tree-kill@1.2.2: {} 2521 | 2522 | trim-lines@3.0.1: {} 2523 | 2524 | trough@2.2.0: {} 2525 | 2526 | ts-interface-checker@0.1.13: {} 2527 | 2528 | tsup@8.4.0(typescript@5.8.3)(yaml@2.7.1): 2529 | dependencies: 2530 | bundle-require: 5.1.0(esbuild@0.25.2) 2531 | cac: 6.7.14 2532 | chokidar: 4.0.3 2533 | consola: 3.4.2 2534 | debug: 4.4.0 2535 | esbuild: 0.25.2 2536 | joycon: 3.1.1 2537 | picocolors: 1.1.1 2538 | postcss-load-config: 6.0.1(yaml@2.7.1) 2539 | resolve-from: 5.0.0 2540 | rollup: 4.39.0 2541 | source-map: 0.8.0-beta.0 2542 | sucrase: 3.35.0 2543 | tinyexec: 0.3.2 2544 | tinyglobby: 0.2.12 2545 | tree-kill: 1.2.2 2546 | optionalDependencies: 2547 | typescript: 5.8.3 2548 | transitivePeerDependencies: 2549 | - jiti 2550 | - supports-color 2551 | - tsx 2552 | - yaml 2553 | 2554 | turbo-darwin-64@2.5.0: 2555 | optional: true 2556 | 2557 | turbo-darwin-arm64@2.5.0: 2558 | optional: true 2559 | 2560 | turbo-linux-64@2.5.0: 2561 | optional: true 2562 | 2563 | turbo-linux-arm64@2.5.0: 2564 | optional: true 2565 | 2566 | turbo-windows-64@2.5.0: 2567 | optional: true 2568 | 2569 | turbo-windows-arm64@2.5.0: 2570 | optional: true 2571 | 2572 | turbo@2.5.0: 2573 | optionalDependencies: 2574 | turbo-darwin-64: 2.5.0 2575 | turbo-darwin-arm64: 2.5.0 2576 | turbo-linux-64: 2.5.0 2577 | turbo-linux-arm64: 2.5.0 2578 | turbo-windows-64: 2.5.0 2579 | turbo-windows-arm64: 2.5.0 2580 | 2581 | typescript@5.8.3: {} 2582 | 2583 | undici-types@6.21.0: {} 2584 | 2585 | unified@11.0.5: 2586 | dependencies: 2587 | '@types/unist': 3.0.3 2588 | bail: 2.0.2 2589 | devlop: 1.1.0 2590 | extend: 3.0.2 2591 | is-plain-obj: 4.1.0 2592 | trough: 2.2.0 2593 | vfile: 6.0.3 2594 | 2595 | unist-util-is@6.0.0: 2596 | dependencies: 2597 | '@types/unist': 3.0.3 2598 | 2599 | unist-util-position-from-estree@2.0.0: 2600 | dependencies: 2601 | '@types/unist': 3.0.3 2602 | 2603 | unist-util-position@5.0.0: 2604 | dependencies: 2605 | '@types/unist': 3.0.3 2606 | 2607 | unist-util-stringify-position@4.0.0: 2608 | dependencies: 2609 | '@types/unist': 3.0.3 2610 | 2611 | unist-util-visit-parents@6.0.1: 2612 | dependencies: 2613 | '@types/unist': 3.0.3 2614 | unist-util-is: 6.0.0 2615 | 2616 | unist-util-visit@5.0.0: 2617 | dependencies: 2618 | '@types/unist': 3.0.3 2619 | unist-util-is: 6.0.0 2620 | unist-util-visit-parents: 6.0.1 2621 | 2622 | uuid@9.0.1: {} 2623 | 2624 | uvu@0.5.6: 2625 | dependencies: 2626 | dequal: 2.0.3 2627 | diff: 5.2.0 2628 | kleur: 4.1.5 2629 | sade: 1.8.1 2630 | 2631 | vfile-message@4.0.2: 2632 | dependencies: 2633 | '@types/unist': 3.0.3 2634 | unist-util-stringify-position: 4.0.0 2635 | 2636 | vfile@6.0.3: 2637 | dependencies: 2638 | '@types/unist': 3.0.3 2639 | vfile-message: 4.0.2 2640 | 2641 | webidl-conversions@4.0.2: {} 2642 | 2643 | whatwg-url@7.1.0: 2644 | dependencies: 2645 | lodash.sortby: 4.7.0 2646 | tr46: 1.0.1 2647 | webidl-conversions: 4.0.2 2648 | 2649 | which@2.0.2: 2650 | dependencies: 2651 | isexe: 2.0.0 2652 | 2653 | wrap-ansi@7.0.0: 2654 | dependencies: 2655 | ansi-styles: 4.3.0 2656 | string-width: 4.2.3 2657 | strip-ansi: 6.0.1 2658 | 2659 | wrap-ansi@8.1.0: 2660 | dependencies: 2661 | ansi-styles: 6.2.1 2662 | string-width: 5.1.2 2663 | strip-ansi: 7.1.0 2664 | 2665 | yaml@2.7.1: {} 2666 | 2667 | zwitch@2.0.4: {} 2668 | -------------------------------------------------------------------------------- /src/README.mdx: -------------------------------------------------------------------------------- 1 | import { name, description } from "../package.json" 2 | 3 | # {name} 4 | 5 | {description} 6 | 7 | ## Why? 8 | 9 | This library is most useful for templating README.md files [like the one you're reading](/src/README.mdx). 10 | 11 | # Install 12 | 13 |
14 |   pnpm add {name}
15 | 
16 | 17 |
18 |   npm install {name}
19 | 
20 | 21 | ## CLI 22 | 23 | ```bash 24 | mdx-to-md [sourcePath] [outPath] 25 | ``` 26 | 27 | In the simplest use case, you can run the CLI and it will output the converted Markdown relative to the current working directory the script was run in: 28 | 29 | ```bash 30 | pnpm mdx-to-md README.mdx 31 | ``` 32 | 33 | ## Node 34 | 35 | Start with MDX: 36 | 37 | ```mdx 38 | import { name, description } from "./package.json" 39 | 40 | # {name} 41 | 42 | {description} 43 | 44 | # Install 45 | 46 |
47 |   pnpm add {name}
48 | 
49 | ``` 50 | 51 | And convert it to Markdown: 52 | 53 | ```ts 54 | import { writeFile } from "node:fs/promises" 55 | import { resolve } from "node:path" 56 | import { mdxToMd } from "mdx-to-md" 57 | 58 | const mdxPath = resolve(process.cwd(), "README.mdx") 59 | const markdown = await mdxToMd(mdxPath) 60 | const banner = `This README was auto-generated using "pnpm build:readme"` 61 | const readme = ` \n\n ${markdown}` 62 | 63 | await writeFile("README.md", readme) 64 | 65 | console.log("📝 Converted README.mdx -> README.md") 66 | ``` 67 | 68 | Which outputs: 69 | 70 | ```md 71 | # mdx-to-md 72 | 73 | Convert MDX to Markdown. 74 | 75 | # Install 76 | 77 | pnpm add mdx-to-md 78 | ``` 79 | -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import { basename, resolve } from "node:path" 3 | import { writeFile } from "node:fs/promises" 4 | import { watch } from "chokidar" 5 | import { args, flags } from "args-flags" 6 | 7 | import { mdxToMd } from "./mdx-to-md.js" 8 | 9 | const [sourcePath, outPath = basename(sourcePath).slice(0, -1)] = args 10 | const sourceMDX = resolve((flags.cwd as string) ?? process.cwd(), sourcePath) 11 | 12 | async function build() { 13 | const markdown = await mdxToMd(sourceMDX) 14 | const banner = `This markdown file was auto-generated from "${sourcePath}"` 15 | const contents = `\n\n${markdown}` 16 | 17 | await writeFile(outPath, contents) 18 | 19 | console.log(`📝 Converted ${sourcePath} -> ${outPath}`) 20 | } 21 | 22 | if (flags.watch) { 23 | watch(sourceMDX).on("change", build) 24 | } else { 25 | build() 26 | } 27 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export { mdxToMd } from "./mdx-to-md.js" 2 | -------------------------------------------------------------------------------- /src/mdx-to-md.ts: -------------------------------------------------------------------------------- 1 | import { NodeHtmlMarkdown } from "node-html-markdown" 2 | import { bundleMDX } from "mdx-bundler" 3 | import type { BundleMDX } from "mdx-bundler/dist/types" 4 | import { getMDXComponent } from "mdx-bundler/client/index.js" 5 | import { createElement } from "react" 6 | import { renderToString } from "react-dom/server" 7 | import { readFile } from "node:fs/promises" 8 | import { dirname } from "node:path" 9 | 10 | const htmlToMarkdown = new NodeHtmlMarkdown() 11 | 12 | /** 13 | * Converts MDX to Markdown. This is useful for rendering dynamic README.md files. 14 | * 15 | * @example 16 | * import { resolve } from "path" 17 | * import { mdxToMd } from "mdx-to-md" 18 | * 19 | * const markdown = await mdxToMd(resolve(process.cwd(), "README.mdx")) 20 | */ 21 | export async function mdxToMd< 22 | Frontmatter extends { 23 | [key: string]: any 24 | } 25 | >( 26 | /** The path to the MDX file. */ 27 | path: string, 28 | 29 | /** Configure internal library options. */ 30 | options?: Pick, "esbuildOptions" | "grayMatterOptions" | "mdxOptions"> 31 | ) { 32 | const contents = await readFile(path, "utf-8") 33 | const { code } = await bundleMDX({ 34 | source: contents, 35 | cwd: dirname(path), 36 | ...options, 37 | esbuildOptions: (esbuildOptions) => { 38 | return { 39 | ...esbuildOptions, 40 | platform: "node", 41 | external: ["react", "react-dom"], 42 | ...options?.esbuildOptions, 43 | } 44 | }, 45 | }) 46 | const component = getMDXComponent(code) 47 | const element = createElement(component) 48 | const html = renderToString(element) 49 | const markdown = htmlToMarkdown.translate(html) 50 | 51 | return markdown 52 | } 53 | -------------------------------------------------------------------------------- /tests/lead.mdx: -------------------------------------------------------------------------------- 1 | import { name, description } from "../package.json" 2 | 3 | # {name} 4 | 5 | {description} 6 | 7 | # Install 8 | 9 |
10 |   pnpm add {name}
11 | 
12 | 13 |
14 |   npm install {name}
15 | 
16 | -------------------------------------------------------------------------------- /tests/mdx-to-md.test.ts: -------------------------------------------------------------------------------- 1 | import { test } from "uvu" 2 | import { resolve } from "path" 3 | import * as assert from "uvu/assert" 4 | import { mdxToMd } from "../src" 5 | 6 | const snapshot = ` 7 | # mdx-to-md 8 | 9 | Convert MDX to Markdown. 10 | 11 | # Install 12 | 13 | \`\`\`bash 14 | pnpm add mdx-to-md 15 | \`\`\` 16 | 17 | \`\`\`bash 18 | npm install mdx-to-md 19 | \`\`\` 20 | `.trim() 21 | 22 | test("Converts MDX to Markdown", async () => { 23 | const path = resolve(__dirname, "test.mdx") 24 | const markdown = await mdxToMd(path) 25 | 26 | assert.equal(markdown, snapshot) 27 | }) 28 | 29 | test.run() 30 | -------------------------------------------------------------------------------- /tests/test.mdx: -------------------------------------------------------------------------------- 1 | import Lead from "./lead.mdx" 2 | 3 | 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "module": "ES2020", 5 | "lib": ["ES2020"], 6 | "outDir": "./dist", 7 | "strict": true, 8 | "declaration": true, 9 | "moduleResolution": "node", 10 | "skipLibCheck": true 11 | }, 12 | "include": ["src/*.ts"], 13 | "exclude": ["node_modules", "dist"] 14 | } 15 | --------------------------------------------------------------------------------