Home

Awesome

dmnlint

Build Status

Validate your DMN diagrams based on configurable lint rules.

Usage

Install the utility via npm:

npm install -g dmnlint

Validate your diagrams via the command line:

> dmnlint invoice.dmn

/Projects/process-application/resources/invoice.dmn
  InputData_13   error  Element is missing label/name       label-required
  Decision_12    error  Element is missing label/name       label-required

āœ– 2 problems (2 errors, 0 warnings)

Rules

Our documentation lists all currenty implemented rules, the ./rules folder contains each rules implementation.

Do you miss a rule that should be included? Propose a new rule.

Configuration

Create a .dmnlintrc file in your working directory and inherit from a common configuration using the extends block:

{
  "extends": "dmnlint:recommended"
}

Add or customize rules using the rules block:

{
  "extends": "dmnlint:recommended",
  "rules": {
    "label-required": "off"
  }
}

Visual Feedback (TODO)

Integrate the linter via dmn-js-dmnlint into dmn-js and get direct feedback during modeling.

To try out visual validation, checkout the dmnlint playground.

Writing / Consuming Custom Rules (TODO)

Use the dmnlint playground to implement new rules with quick visual feedback.

For more details on how to define and consume custom lint rules check out the dmnlint-plugin-example.

Credits

The project is based on bpmnlint built by nikku and siffogh.

License

MIT