1*c88bd154Salibama# bpmn-js-bpmnlint 2*c88bd154Salibama 3*c88bd154Salibama[](https://github.com/bpmn-io/bpmn-js-bpmnlint/actions?query=workflow%3ACI) 4*c88bd154Salibama 5*c88bd154SalibamaIntegrates [bpmnlint](https://github.com/bpmn-io/bpmnlint) into [bpmn-js](https://github.com/bpmn-io/bpmn-js). 6*c88bd154Salibama 7*c88bd154Salibama 8*c88bd154Salibama 9*c88bd154SalibamaSee this extension in action as part of the [bpmnlint playground](https://github.com/bpmn-io/bpmnlint-playground). 10*c88bd154Salibama 11*c88bd154Salibama 12*c88bd154Salibama## Usage 13*c88bd154Salibama 14*c88bd154SalibamaIntegrate the linter into [bpmn-js](https://github.com/bpmn-io/bpmn-js): 15*c88bd154Salibama 16*c88bd154Salibama```javascript 17*c88bd154Salibamaimport lintModule from 'bpmn-js-bpmnlint'; 18*c88bd154Salibama 19*c88bd154Salibamaimport 'bpmn-js-bpmnlint/dist/assets/css/bpmn-js-bpmnlint.css'; 20*c88bd154Salibama 21*c88bd154Salibamaimport BpmnModeler from 'bpmn-js/lib/Modeler'; 22*c88bd154Salibama 23*c88bd154Salibamaimport bpmnlintConfig from './.bpmnlintrc'; 24*c88bd154Salibama 25*c88bd154Salibamaconst modeler = new BpmnModeler({ 26*c88bd154Salibama linting: { 27*c88bd154Salibama bpmnlint: bpmnlintConfig 28*c88bd154Salibama }, 29*c88bd154Salibama additionalModules: [ 30*c88bd154Salibama lintModule 31*c88bd154Salibama ] 32*c88bd154Salibama}); 33*c88bd154Salibama``` 34*c88bd154Salibama 35*c88bd154Salibama 36*c88bd154Salibama## Bundle Lint Rules 37*c88bd154Salibama 38*c88bd154SalibamaUse an appropriate plugin/loader for your module bundler (cf. [rollup-plugin-bpmnlint](https://github.com/nikku/rollup-plugin-bpmnlint), [bpmnlint-loader](https://github.com/nikku/bpmnlint-loader)) to bundle the bpmnlint configuration directly with your application as [shown above](#usage). 39*c88bd154Salibama 40*c88bd154SalibamaAlternatively, pack your local `.bpmnlintrc` file using the [bpmnlint-pack-config](https://github.com/nikku/bpmnlint-pack-config) utility: 41*c88bd154Salibama 42*c88bd154Salibama```shell 43*c88bd154Salibamabpmnlint-pack-config -c .bpmnlintrc -o bundled-config.js 44*c88bd154Salibama``` 45*c88bd154Salibama 46*c88bd154Salibama 47*c88bd154Salibama## Plug-in Lint Rules 48*c88bd154Salibama 49*c88bd154SalibamaProvide the [packed lint rules](#bundle-lint-rules) via the `linting.bpmnlint` option. You may set it dynamically, too: 50*c88bd154Salibama 51*c88bd154Salibama```javascript 52*c88bd154Salibamaconst linting = modeler.get('linting'); 53*c88bd154Salibama 54*c88bd154Salibamalinting.setLinterConfig(bpmnlintConfig); 55*c88bd154Salibama``` 56*c88bd154Salibama 57*c88bd154Salibama 58*c88bd154Salibama## Resources 59*c88bd154Salibama 60*c88bd154Salibama* [Issues](https://github.com/bpmn-io/bpmn-js-bpmnlint/issues) 61*c88bd154Salibama* [Playground Project](https://github.com/bpmn-io/bpmnlint-playground) 62*c88bd154Salibama 63*c88bd154Salibama 64*c88bd154Salibama## Development Setup 65*c88bd154Salibama 66*c88bd154Salibama``` 67*c88bd154Salibamanpm install 68*c88bd154Salibamanpm run dev 69*c88bd154Salibama``` 70*c88bd154Salibama 71*c88bd154Salibama 72*c88bd154Salibama## License 73*c88bd154Salibama 74*c88bd154SalibamaMIT 75