rohit-gohri / redocusaurus

OpenAPI for Docusaurus with Redoc
https://redocusaurus.vercel.app/
MIT License
629 stars 114 forks source link

Cannot mix different versions of joi schemas #251

Closed manodupont closed 1 year ago

manodupont commented 1 year ago

Hi,

I would like to add an API documentation on my docusaurus site documentation.

It seems pretty clear that I can just use this config

presets: [
        // .. Your other presets' config
        '@docusaurus/preset-classic',
        // Redocusaurus config
        [
            'redocusaurus',
            {
                // Plugin Options for loading OpenAPI files
                specs: [
                    {
                        spec: 'open_api.yml',
                        route: '/api/',
                    },
                ],
                // Theme Options for modifying how redoc renders them
        theme: {
          customCss: require.resolve('./src/css/custom.css'),
        },
            },
        ],
    ],

But i always get this error

yarn run v1.22.15
$ docusaurus start
[INFO] Starting the development server...
[ERROR] Error: Cannot mix different versions of joi schemas
    at new module.exports (/Users/dupontmanuel/annotto-docs/node_modules/@hapi/hoek/lib/error.js:23:19)
    at module.exports (/Users/dupontmanuel/annotto-docs/node_modules/@hapi/hoek/lib/assert.js:21:11)
    at Object.exports.isSchema (/Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/common.js:132:5)
    at Object.internals.schema (/Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/compile.js:66:16)
    at Object.exports.schema (/Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/compile.js:17:26)
    at internals.Base.$_compile (/Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/base.js:646:24)
    at /Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/types/keys.js:262:92
    at Object.exports.tryWithPath (/Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/common.js:176:16)
    at internals.Base.method [as keys] (/Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/types/keys.js:262:32)
    at internals.Base.method [as append] (/Users/dupontmanuel/annotto-docs/node_modules/docusaurus-plugin-redoc/node_modules/joi/lib/types/keys.js:191:29)
[INFO] Docusaurus version: 2.2.0
Node version: v16.14.0
error Command failed with exit code 1.

Anyone can help me with that ?

I already tried tried removing node_modules and playing around versions...

I don't see what else I have as choices.

Thanks

rohit-gohri commented 1 year ago

This is probably due to outdated docusaurus version in redocusaurus. Can you open a PR to upgrade it?

iammaransari commented 1 year ago

@manodupont did you find any workaround for this issue?

christopherdro commented 1 year ago

Temp workaround to set the resolution in package.json

  "resolutions": {
    "joi": "17.6.0"
  }
rohit-gohri commented 1 year ago

Fixed in 1.5.0