Bpmnlint: Load linter config in angular

Hello!

The question is generally of the same topic as Bpmnlint: Configure Lint Rules question

I already have a bpmn modeler used in my angular application, nothing wrong with it, it works perfectly. Now i try to use bpmn-js-bpmnlint, which requires me to compile linter rules. This is kinda simple task: i just need to extend angular default webpack config to add bpmnlint-loader, but i’m facing many angular version troubles, i dont wanna waste time to solve 'em, so i decided to use bpmnlint-pack-config. Here’s the command:

npx bpmnlint-pack-config -c .bpmnlintrc -o packed-config.js -t es

But it gives me an error:

Error: Failed to compile config: Cannot resolve config <recommended> from <bpmnlint-plugin-playground>
    at error (D:\git\app\node_modules\rollup\dist\shared\node-entry.js:5400:30)
    at throwPluginError (D:\git\app\node_modules\rollup\dist\shared\node-entry.js:11878:12)
    at Object.error (D:\git\app\node_modules\rollup\dist\shared\node-entry.js:12912:24)
    at Object.error (D:\git\app\node_modules\rollup\dist\shared\node-entry.js:12081:38)
    at Object.transform (D:\git\app\node_modules\rollup-plugin-bpmnlint\index.js:45:21)

Why does it try to access bpmnlint-plugin-playground? I’m executing command from D:\git\app\ directory, not from bpmnlint-plugin-playground. Did i do something wrong?

I’ll attach all the needed code on demand

Thanks in advance!

Why does it try to access bpmnlint-plugin-playground?

What is the contents of your .bpmnlintrc? It does load the configuration from there and recurses into configuration and individual rules linked there to resolve them.

1 Like

Wowch, it was quiet obvious. I spent many hours trying to run bpmnlint so I was tired enough to just COMPLETELY FORGET that there are main config .bpmnlintrc, thanks for help

I finally managed to build lint config, but boy, the convention that “plugin:playground/recommended” in .bpmnlintrc points to “bpmnlint-plugin-playground” package is absolutely inhuman and hella hard to grok. It would be much more human understandable if it was “bpmnlint-plugin-playground/recommended”, “plugin:” really messes things up in your playground example. I know this info is hidden inside bpmnlint-plugin-example repo and all the one should have to find it is eyes, but anyway I think all human beings who come across bpmnlint repo would really love if you explicitly state in readme that “plugin:%PLUGINNAME%” points to “bpmnlint-plugin-%PLUGINNAME%” package, otherwise expect people to drop from using bpmnlint just cuz they didn’t get it to work

Anyway, thanks for the help and the linter. As far as i know the community is really happy now that someone finally created a working bpmn linter, so your effort is appreciated!

That is great feedback! I believe the later should work, too:

“plugin:bpmnlint-plugin-playground/recommended”

Do you mind filing a PR to improve our existing documentation? Asking because you seem fairly confident what a substantial improvement could look like.

Ok, np, i’ll try to create a PR asaic

1 Like