Skip to content

Repository files navigation

Event Modeling Tools

The project combines multiple tools helping you with Event Modeling, such as Domain Specific Language (DSL).

Discord channel CI npm

Note

Previously the project's name was event-modeling-dsl.

Domain Specific Language

Domain Specific Language (DSL) for writing Event Modeling models. The DSL in textual format can be translated to various outputs, mainly to a diagram.

Event Modeling model file is usually defined in a text with prefered .evml file extension or as a Markdown code block marked with evml.

VS Code Extension

There is VS Code compatible extension published.

Note

There is a deprecated extension available under event-modeling-dsl identifier. Use the one with event-modeling-vscode-extension.

For VS Code use its official Marketplace. Hit Ctrl+P and type:

ext install LadislavGazo.event-modeling-vscode-extension

For VS Codium use Open VSX Registry.

Command Line Interface

The command line interface generates an SVG or a Draw.io diagram out of an .evml text definition.

Install

npm install -g event-modeling-cli

This puts a single stable binary named evml on your PATH.

Usage

evml svg <file> [-d <dir>]      # generate SVG
evml drawio <file> [-d <dir>]   # generate Draw.io (mxGraph XML) diagram
evml --version
evml --help

-d, --destination <dir> sets the output directory; it is created if missing. It defaults to a generated/ directory next to the input file.

Both subcommands exit 0 on success and non-zero on failure, writing all diagnostics to stderr. They are treated as public API: a breaking change to either one, or to the evml binary name, is a major version bump.

Use as a library

npm install event-modeling-language
import { createEventModelingServices } from 'event-modeling-language';

event-modeling-cli and event-modeling-language are released together at matching versions, so pinning ^1.0.0 on both can never produce a skewed pair.

Supported Node.js: >= 20.10.0.

Obsidian Plugin

Obsidian plugin renders evml code blocks in Markdown in the default Markdown view. On top of it you can preview large Event Model in a separate view, zoom in/out, pan. Additionally you can export it to a separate text or SVG file.

Features

  • Domain Specific Language parser
  • Extract rendering to SVG (available only in Mermaid fork)
  • Obsidian Plugin
  • CLI
  • CLI in npm store
  • Obsidian Plugin in the Community store
  • Expand DSL - Given-When-Then, Diagram configuration, Swimlane labels, Slices,...
  • Completness check Langium Validator
  • Additional output to Draw.io XML
  • VS Code Extension command support for different outputs

Related Resources

Development

Releasing

Examples of SVG output based on the DSL

About

Domain Specific Language (DSL) for writing Event Modeling (https://eventmodeling.org/) models. The DSL in textual format can be translated to various outputs, mainly to a diagram.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages