JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10306
  • Score
    100M100P100Q211599F
  • License ISC

Package Exports

  • @softwaretechnik/dbml-renderer
  • @softwaretechnik/dbml-renderer/lib/api.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@softwaretechnik/dbml-renderer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

npm version .github/workflows/build.yml

dbml-renderer renders DBML files to SVG images. It provides a command line interface, so that you can easily use it in your documentation toolchain.

Command Line Usage

npm install -g @softwaretechnik/dbml-renderer

It can then be used to render DBML files like so:

dbml-renderer -i example.dbml -o output.svg

For instance, the following input will produce the image below:

Table users {
    id integer
    username varchar
    role varchar
    created_at timestamp
}

Table posts {
    id integer [primary key]
    title varchar
    body text [note: 'Content of the post']
    user_id integer
    created_at timestamp
}

Ref: posts.user_id > users.id

Posts example output

The examples directory contains other input and output examples.

Testing

The tests can be run with npm test. They use the examples available in the examples directory. Each .dbml file is used as input to render each of the available output formats.

The output of a test run is placed in .test-output. In case the renderer has been modified, the test output can be visually inspected and, confirmed the output is good, the expectations can be updated by copying them with the following command:

cp .test-output/* examples/

To aid the visual inspection, you can open .compare-test-output.html to compare side-by-side each generated SVG.