Skip to content

bpmn-io/bpmn-auto-layout

Repository files navigation

bpmn-auto-layout

CI

Create and layout the graphical representation of a BPMN diagram.

Usage

This library works with Node.js and in the browser.

import { layoutProcess } from 'bpmn-auto-layout';

import diagramXML from './diagram.bpmn';

const diagramWithLayoutXML = await layoutProcess(diagramXML);

console.log(diagramWithLayoutXML);

Limitations

  • Given a collaboration only the first participant's process will be laid out
  • Sub-processes will be laid out as collapsed sub-processes
  • The following elements are not laid out:
    • Groups
    • Text annotations
    • Associations
    • Message flows

Resources

Build and Run

# install dependencies
npm install

# build and run tests
npm run all

# run example
npm start

Test

We use snapshot testing to verify old and new layout attempts. A mismatch is indicated as a test failure.

# run tests
npm test

# inspect the results
npm run test:inspect

# run update snapshots
npm run test:update-snapshots

Add new test cases to test/fixtures and they will be picked up automatically.

License

MIT