1# dokuwiki-plugin-bpmnio 2 3Renders using the bpmn.io js libraries within dokuwiki: 4 5* BPMN v2.0 diagrams 6* DMN v1.3 decision requirement diagrams, decision tables and literal expressions 7 8Refer to this page for details: https://www.dokuwiki.org/plugin:bpmnio 9 10## Development 11 12### Prerequisites 13 14* PHP 8.1+ 15* [Composer](https://getcomposer.org/) 16* Node.js 20+ and npm 17 18### Setup 19 20```bash 21# Install PHP dev dependencies (phpcs, phpstan) 22composer install 23 24# Install JS/CSS dev dependencies (eslint, stylelint) 25npm install 26``` 27 28### Linting 29 30```bash 31# PHP code style 32composer cs 33 34# PHP static analysis 35composer stan 36 37# JavaScript lint 38npm run lint:js 39 40# LESS/CSS lint 41npm run lint:css 42 43# All JS + CSS lints 44npm run lint 45``` 46 47### Testing 48 49Tests run within the DokuWiki test framework. Clone the plugin into a DokuWiki 50installation's `lib/plugins/bpmnio/` directory, then run: 51 52```bash 53cd /path/to/dokuwiki 54php vendor/bin/phpunit --group plugin_bpmnio 55``` 56 57### Updating vendor libraries 58 59The `vendor/` directory contains committed copies of bpmn-js and dmn-js. 60To update them to the versions specified in `vendor/*/url.txt`: 61 62```bash 63./update-vendor.sh 64``` 65 66After updating, edit the `url.txt` files if you want to target a different version. 67