npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

erdia

v3.7.0

Published

CLI to generate mermaid.js ER diagram using TypeORM entity

Downloads

6,878

Readme

ERDIA

erdia is create ER Diagram and Entity schema specification using by TypeORM and mermiad.js

ts Download Status Github Star Github Issues NPM version License ci codecov code style: prettier

Why erdia ?

erdia is a cli tool that allows you to automatically generate DB specifications and ER diagram documents using TypeORM. It is very hard to be diligent about updating DB specifications and ER diagrams whenever code and DB changes. erdia automatically generates DB statement and ER diagram documents using information provided by TypeORM whenever the code changes. By automatically generating documents using TypeORM code, you can maintain the freshness of your documents with minimal effort.

Summary,

  1. ER diagram generate using mermaid.js syntax.
  2. Every document generate using ETA template engine
  3. Use TypeORM

Automate your database ER diagram drawing!

Table of Contents

erdia support initialization command. And you execute build command.

How it works?

graph LR

A[TypeORM Entity] --> erdia
subgraph erdia
direction TB
C[TypeORM Entity]-->|extract <br/>entity specification|B[erdia]
end
erdia-->|extract <br />specification|D
D[ETA<br />template<br />engine]-->E[html]
D-->F[markdown]
D-->G[pdf]
D-->H[image]

Getting started

Installation

npm install erdia --save-dev

Confuguration

npx erdia init

Generation

erdia build -d [your dataSource path] -o dist/entity --format html

Usage

Commands

erdia supports the build, clean, init, and eject commands.

| Command | Description | | ------- | ----------------------------------------------------------- | | build | Builds the erdiagram document. | | init | Generates a configuration file for creating erdiagrams. | | eject | Generates a template document file for creating erdiagrams. | | clean | Deletes the previously built erdiagram document. |

CLI Options

Programming Interfaces

Interfaces

| Command | Description | | ------------ | ----------------------------------------------------------- | | building | Builds the erdiagram document. | | initializing | Generates a configuration file for creating erdiagrams. | | ejecting | Generates a template document file for creating erdiagrams. | | cleaning | Deletes the previously built erdiagram document. |

Function Options

Requirement

  • TypeORM 0.3.x

Example

Showcase

erdia showcase

Documents

Output Format

erdia support html, markdown, pdf, svg, png. Database entity specification table only support html, markdown, pdf format.

# PDF document generate
erdia build -d [your dataSourcePath] -o dist/entity --format pdf

Template

erdia use ETA template for entity specification document and ER diagram. Template easily detach from erdia.

npx erdia eject

Detached template can change and every document customizable. The template can be found here.

TypeScript

If you are using TypeScript, you must use ts-node or tsx to run erdia. This is because the TypeORM Entity file is written in TypeScript.

License

This software is licensed under the MIT.

References