Skip to content

Internal error on subgraph with numeric identifier #7609

@ABorgna

Description

@ABorgna

Description

The mermaid code below produces a "TypeError: Cannot set properties of undefined (setting 'rank')".
This only happens when inner has a numeric identifier. The diagram renders correctly when replacing 1 with a letter.

Steps to reproduce

Example diagram:

graph LR
    subgraph outer
        subgraph 1 ["inner"]
            external
            subgraph sub
                internal
            end
            sub-->external
        end
    end

Render error:

graph LR
    subgraph outer
        subgraph 1 ["inner"]
            external
            subgraph sub
                internal
            end
            sub-->external
        end
    end
Loading

Backtrace:

TypeError: Cannot set properties of undefined (setting 'rank')
    at #evaluate (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:388:19)
    at async ExecutionContext.evaluate (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:275:16)
    at async IsolatedWorld.evaluate (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js:97:16)
    at async CdpJSHandle.evaluate (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js:146:20)
    at async CdpElementHandle.evaluate (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js:340:20)
    at async CdpElementHandle.$eval (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js:494:24)
    at async CdpFrame.$eval (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js:450:20)
    at async CdpPage.$eval (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js:450:20)
    at async renderMermaid (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/src/index.js:266:22)
    at recursiveRender (.../.nvm/versions/node/v22.22.0/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/mermaid/dist/mermaid.js:58234:8)

Screenshots

No response

Code Sample


Setup

  • mmdc --version: 11.12.0

Suggested Solutions

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions