Skip to content

Failed to generate diagram - Error: Unable to calculate a unique id for an empty set of components #30

@RobertoTorino

Description

@RobertoTorino

npx cdk-dia fails with the following error:

% npx cdk-dia

Failed to generate diagram - Error: Unable to calculate a unique id for an empty set of components
/usr/local/lib/node_modules/cdk-dia/node_modules/@aws-cdk/core/lib/private/uniqueid.js:33
        throw new Error('Unable to calculate a unique id for an empty set of components');
              ^
Error: Unable to calculate a unique id for an empty set of components
    at makeUniqueId (/usr/local/lib/node_modules/cdk-dia/node_modules/@aws-cdk/core/lib/private/uniqueid.js:33:15)
    at AwsEdgeResolver.findUniqueResourceId (/usr/local/lib/node_modules/cdk-dia/dist/src/diagram/aws/aws-edge-resolver.js:83:44)
    at /usr/local/lib/node_modules/cdk-dia/dist/src/diagram/aws/aws-edge-resolver.js:55:47
    at DiagramComponent.subTreeFindComponentRec (/usr/local/lib/node_modules/cdk-dia/dist/src/diagram/component/component.js:137:13)
    at DiagramComponent.subTreeFindComponent (/usr/local/lib/node_modules/cdk-dia/dist/src/diagram/component/component.js:134:21)
    at /usr/local/lib/node_modules/cdk-dia/dist/src/diagram/component/component.js:140:23
    at Array.map (<anonymous>)
    at DiagramComponent.subTreeFindComponentRec (/usr/local/lib/node_modules/cdk-dia/dist/src/diagram/component/component.js:139:40)
    at DiagramComponent.subTreeFindComponent (/usr/local/lib/node_modules/cdk-dia/dist/src/diagram/component/component.js:134:21)
    at AwsEdgeResolver.findTargetComponent (/usr/local/lib/node_modules/cdk-dia/dist/src/diagram/aws/aws-edge-resolver.js:54:47)

workaround for now: go to:
/usr/local/lib/node_modules/cdk-dia/node_modules/@aws-cdk/core/lib/private

change this:

function makeUniqueId(components) {
    components = components.filter(x => x !== HIDDEN_ID);
    if (components.length === 0) {
        throw new Error('Unable to calculate a unique id for an empty set of components');
    }

to this:

function makeUniqueId(components) {
    components = components.filter(x => x !== HIDDEN_ID);
    if (components.length < 0) {
        throw new Error('Unable to calculate a unique id for an empty set of components');
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions