Awesome
bpmn-js-bpmnlint
Integrates bpmnlint into bpmn-js.
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