We are proud to announce the latest release of our BPMN rendering toolkit as well as its underlying foundations. Ported to ES modules, this release represents a major effort in modernizing our code base.
In the last weeks we've cut several releases that migrate our libraries to ES modules:
Consuming ES Modules
If you use our pre-packaged distributions, nothing changes for you. Otherwise, consider migrating to our latest toolkit versions a breaking change that requires a number of adjustments to your code base.
Usage from ES6
If you are already using ES
export as part of your application, make sure to use individual parts of utilities via destructuring:
import BpmnModeler from 'bpmn-js/lib/Modeler';
} from 'bpmn-js/lib/util/ModelUtil';
The reason for that change is that utilities do not publish
Usage from CommonJS
When consuming our libraries from CommonJS, access default module exports via the
var BpmnModeler = require('bpmn-js/lib/Modeler').default;
var is = require('bpmn-js/lib/util/ModelUtil').is;
Checkout this commit to our CMMN toolkit for a good example how to migrate your CommonJS codebase to build on top of a ES module dependency.
Bundling ES Modules
Since most browsers do not support ES modules yet you must bundle your application and our libraries with an ES module aware bundler such as Rollup, Webpack or Browserify + babelify. Learn more about it in our reworked bundling example.
If you are using Browserify as your build tool, take a look at how we integrated babelify into the cmmn-js build pipeline in order to migrate the library to
We celebrate the ES module transition with a number of major releases. Along with these releases we introduced changelogs to all of our projects. Read through the individual toolkit changelogs to understand the important changes that landed into certain library versions. As we use semantic versioning you'll be able to learn about potential breaking changes, too.
As an example, read about all changes since
email@example.com, the last ES5 version of bpmn-js in the libraries' changelog.