Home

Awesome

bpmn-js-bpmnlint

CI

Integrates bpmnlint into bpmn-js.

Screenshot

See this extension in action as part of the bpmnlint playground.

Usage

Integrate the linter into bpmn-js:

import lintModule from 'bpmn-js-bpmnlint';

import 'bpmn-js-bpmnlint/dist/assets/css/bpmn-js-bpmnlint.css';

import BpmnModeler from 'bpmn-js/lib/Modeler';

import bpmnlintConfig from './.bpmnlintrc';

const modeler = new BpmnModeler({
  linting: {
    bpmnlint: bpmnlintConfig
  },
  additionalModules: [
    lintModule
  ]
});

Bundle Lint Rules

Use an appropriate plugin/loader for your module bundler (cf. rollup-plugin-bpmnlint, bpmnlint-loader) to bundle the bpmnlint configuration directly with your application as shown above.

Alternatively, pack your local .bpmnlintrc file using the bpmnlint-pack-config utility:

bpmnlint-pack-config -c .bpmnlintrc -o bundled-config.js

Plug-in Lint Rules

Provide the packed lint rules via the linting.bpmnlint option. You may set it dynamically, too:

const linting = modeler.get('linting');

linting.setLinterConfig(bpmnlintConfig);

Resources

Development Setup

npm install
npm run dev

License

MIT