Create and layout the graphical representation of a BPMN diagram.
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);
- 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
# install dependencies
npm install
# build and run tests
npm run all
# run example
npm start
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.
MIT