redoc-cli: ReferenceError: URL is not defined

Created on 13 May 2019  路  30Comments  路  Source: Redocly/redoc

Hi there!

There seems to be an issue with redoc-cli ATM.

Noticed it with one of our docs, but can be reproduced using the demo/swagger.yaml file from this repository:

$> yarn add redoc-cli
$> ./node_modules/.bin/redoc-cli bundle -o './redoc-test' demo/swagger.yaml
[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0
Prerendering docs
ReferenceError: URL is not defined
    at removeQueryString (/tmp/node_modules/redoc/bundles/redoc.lib.js:6940:15)
    at /tmp/node_modules/redoc/bundles/redoc.lib.js:11055:137
    at Array.map (<anonymous>)
    at Object.children (/tmp/node_modules/redoc/bundles/redoc.lib.js:11051:104)
    at ReactDOMServerRenderer.render (/tmp/node_modules/react-dom/cjs/react-dom-server.node.development.js:3412:55)
    at ReactDOMServerRenderer.read (/tmp/node_modules/react-dom/cjs/react-dom-server.node.development.js:3161:29)
    at Object.renderToString (/tmp/node_modules/react-dom/cjs/react-dom-server.node.development.js:3646:27)
    at /tmp/node_modules/redoc-cli/index.js:189:29
    at Generator.next (<anonymous>)
    at fulfilled (/tmp/node_modules/redoc-cli/index.js:5:58)
$> nodejs --version
v8.10.0
$> yarn --version
1.13.0

Most helpful comment

Does it work now?

All 30 comments

it was working 2 days ago... now i got the same error...
I was using npx like:

npx redoc-cli bundle --output deploy/api/index.html deploy/swagger.yaml

[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0 Prerendering docs ReferenceError: URL is not defined at removeQueryString (/usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:6940:19) at /usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:11055:137 at Array.map (native) at Object.children (/usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:11051:104) at ReactDOMServerRenderer.render (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3412:55) at ReactDOMServerRenderer.read (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3161:29) at Object.renderToString (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3646:27) at /usr/local/lib/node_modules/redoc-cli/index.js:189:29 at Generator.next (<anonymous>) at fulfilled (/usr/local/lib/node_modules/redoc-cli/index.js:5:58)

[email protected]
node version 8.x

Could you try the same with node 10.x?

i got a different error using node 10:

npx -p node@10 redoc-cli bundle --output deploy/api/index.html deploy/swagger.yaml

[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0 Prerendering docs TypeError [ERR_INVALID_URL]: Invalid URL: at onParseError (internal/url.js:241:17) at new URL (internal/url.js:319:5) at removeQueryString (/usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:6940:15) at /usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:11055:137 at Array.map (<anonymous>) at Object.children (/usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:11051:104) at ReactDOMServerRenderer.render (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3412:55) at ReactDOMServerRenderer.read (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3161:29) at Object.renderToString (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3646:27) at /usr/local/lib/node_modules/redoc-cli/index.js:189:29

Thanks. Working on a fix!

Downgrading to v2.0.0-rc.4 fixes the issue.

rc.7 is coming with the fix

Should be fixed now. @srats could you please confirm.
Thanks in advance!

Still having the same issue.

From yarn.lock file:

redoc@^2.0.0-rc.4:
  version "2.0.0-rc.7"
  resolved "https://registry.yarnpkg.com/redoc/-/redoc-2.0.0-rc.7.tgz#ef27c64ea9fbc0aa5b1135dc85d59b64eef87396"
  integrity sha512-+2OPuEuUDzwt/R6ZXpBuCMy7aCo0k2pQKfOHq6eG+84QO9+y0ASr91WGmaHUtsvDaItsyrfmhW35NjXIbps2ug==
$> ./node_modules/.bin/redoc-cli bundle -o './redoc-test' demo/swagger.yaml
[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0
Prerendering docs
ReferenceError: URL is not defined
    at parseURL (/tmp/node_modules/redoc/bundles/redoc.lib.js:6950:9)
    at removeQueryString (/tmp/node_modules/redoc/bundles/redoc.lib.js:6940:15)
    at /tmp/node_modules/redoc/bundles/redoc.lib.js:11064:137
    at Array.map (<anonymous>)
    at Object.children (/tmp/node_modules/redoc/bundles/redoc.lib.js:11060:104)
    at ReactDOMServerRenderer.render (/tmp/node_modules/react-dom/cjs/react-dom-server.node.development.js:3412:55)
    at ReactDOMServerRenderer.read (/tmp/node_modules/react-dom/cjs/react-dom-server.node.development.js:3161:29)
    at Object.renderToString (/tmp/node_modules/react-dom/cjs/react-dom-server.node.development.js:3646:27)
    at /tmp/node_modules/redoc-cli/index.js:189:29
    at Generator.next (<anonymous>)

馃う鈥嶁檪 my mistake...

rc.8 is coming

It works with nodejs 10 now, BTW.

@srats could you try it now with rc.8?

  version "2.0.0-rc.8"
  resolved "https://registry.yarnpkg.com/redoc/-/redoc-2.0.0-rc.8.tgz#46fb40900a04f2438cabd973181860323e1ee7de"
  integrity sha512-DpPa/rAUoSDYWGk5k/i0KUoRPrj62WKmbffHmS+c7zZGmFjtzVMpUzwrxrs3Dmf+u1t4YGw5wuhyq2p7qSlhsQ==

Works fine with nodejs 8, thanks :)

Why package number on npmjs is still rc7? https://www.npmjs.com/package/redoc
rc8 marked as 芦next禄 :thinking:

node version 10.8.0
redoc version 2.0.0-rc.8
redoc-cli version 0.8.3

TypeError [ERR_INVALID_URL]: Invalid URL:
at onParseError (internal/url.js:237:17)
at parse (internal/url.js:246:3)
at new URL (internal/url.js:321:5)
at parseURL (/usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:6950:16)
at removeQueryString (/usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:6940:15)
at /usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:11064:137
at Array.map ()
at Object.children (/usr/local/lib/node_modules/redoc-cli/node_modules/redoc/bundles/redoc.lib.js:11060:104)
at ReactDOMServerRenderer.render (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3412:55)
at ReactDOMServerRenderer.read (/usr/local/lib/node_modules/redoc-cli/node_modules/react-dom/cjs/react-dom-server.node.development.js:3161:29)

Why package number on npmjs is still rc7

Fixed to rc.8

got the same error...
node version v10.15.3
redoc-cli version 0.8.3

Prerendering docs
TypeError [ERR_INVALID_URL]: Invalid URL: /v1
at onParseError (internal/url.js:241:17)
at new URL (internal/url.js:319:5)
at parseURL (C:\Users\A11180221040052\AppData\Roaming\npm\node_modules\redoc-cli\node_modules\redoc\bundles\redoc.lib.js:6950:16)
at removeQueryString (C:\Users\A11180221040052\AppData\Roaming\npm\node_modules\redoc-cli\node_modules\redoc\bundles\redoc.lib.js:6940:15)
at C:\Users\A11180221040052\AppData\Roaming\npm\node_modules\redoc-cli\node_modules\redoc\bundles\redoc.lib.js:11064:137
at Array.map ()
at Object.children (C:\Users\A11180221040052\AppData\Roaming\npm\node_modules\redoc-cli\node_modules\redoc\bundles\redoc.lib.js:11060:104)
at ReactDOMServerRenderer.render (C:\Users\A11180221040052\AppData\Roaming\npm\node_modules\redoc-cli\node_modules\react-dom\cjs\react-dom-server.node.development.js:3412:55)
at ReactDOMServerRenderer.read (C:\Users\A11180221040052\AppData\Roaming\npm\node_modules\redoc-cli\node_modules\react-dom\cjs\react-dom-server.node.development.js:3161:29)
at Object.renderToString (C:\Users\A11180221040052\AppData\Roaming\npm\node_modules\redoc-cli\node_modules\react-dom\cjs\react-dom-server.node.development.js:3646:27)

Does it work now?

@kevintsengtw, @zhangwbgogogo could you share your spec servers if you use OpenAPI v3 or host, basePath and schemes if using OpenAPI 2

@RomanGotsiy
I have same issue and have no servers field in spec (openapi v3)

@RomanGotsiy Just ran

redoc-cli bundle swagger.yaml

Should be fixed now with rc.8-1

I also bumped redoc-cli version to 0.8.4

Could you guys verify it is working now? Thanks

This seems to be working correctly for me now. Thanks @RomanGotsiy!

@pohmelie @zhangwbgogogo @kevintsengtw ?

it's working now! thank you @RomanGotsiy!

馃帀

@RomanGotsiy
Works fine now, thank you!

@RomanGotsiy
Works fine, thank you!

it's working now! thanks

@RomanGotsiy
[email protected]
[email protected]
Works fine now, thanks

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zmes50416 picture zmes50416  路  3Comments

gauravmokhasi picture gauravmokhasi  路  4Comments

shreyas-agnihotri picture shreyas-agnihotri  路  3Comments

skllcrn picture skllcrn  路  3Comments

bmarwell picture bmarwell  路  3Comments