xref: /plugin/bpmnio/README.md (revision 43854469855b0d3261173416b47cbad6e62bc444)
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