Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release a mermaid-lite version? #4616

Open
sidharthv96 opened this issue Jul 7, 2023 · 9 comments · May be fixed by #4734
Open

Release a mermaid-lite version? #4616

sidharthv96 opened this issue Jul 7, 2023 · 9 comments · May be fixed by #4734
Labels
Status: Triage Needs to be verified, categorized, etc

Comments

@sidharthv96
Copy link
Member

sidharthv96 commented Jul 7, 2023

This will include all the popular diagrams that use the default layout engine.
This will help solve issues like https://github.com/orgs/mermaid-js/discussions/4314#discussioncomment-6348707

This will not have lazy loading, and will only support the basic diagrams.

@github-actions github-actions bot added the Status: Triage Needs to be verified, categorized, etc label Jul 7, 2023
@aloisklink
Copy link
Member

aloisklink commented Jul 8, 2023

This would be pretty easy to do, if we split up Mermaid into multiple packages (see #4120), e.g. something like:

  • @mermaid-js/mermaid-core - Contains all of Mermaid code, except with no diagrams (except maybe error diagram)
  • @mermaid-js/mermaid-flowchart - Mermaid flowchart diagram.
  • @mermaid-js/mermaid-class - Mermaid class diagrams.
  • @mermaid-js/mermaid-... - All of the other diagrams.
  • mermaid - Contains @mermaid-js/mermaid-core bundled together with all the mainstream diagrams.

That way, users can easily build their own version of mermaid, and we could easily create a mermaid-lite package too.

See further discussion in #4120 (comment)

@Yokozuna59
Copy link
Member

I'm more of a fan of splitting diagrams into separate packages.

How and why we should select specific diagrams to be in that mermaid-lite package, it's not like we should select those diagrams short in size or anything.

@sidharthv96
Copy link
Member Author

We should figure out a way to mostly-automate releases (except entering the TOTP), otherwise, releasing many packages will be a burden.

@nirname
Copy link
Contributor

nirname commented Jul 13, 2023

Would not releasing mermaid-lite become an additional routine too?

@sidharthv96
Copy link
Member Author

mermaid-lite is one extra package, the suggestion was for 5 extra packages.
image

Automated publishing is a good feature either way.

@nirname
Copy link
Contributor

nirname commented Jul 14, 2023

Is there a particular problem with automated releases?

@aloisklink
Copy link
Member

Is there a particular problem with automated releases?

It gets a bit complicated with a mono-repo. How do you handle making git tag, GitHub Releases, and CHANGELOG.md/Release notes, what packages to update, and how much to update them by (e.g. patch/minor/pre-releases?).

Something like https://github.com/changesets/changesets or https://github.com/semantic-release/semantic-release might be nice to automate this.

Mermaid's current release notes process is pretty bad (see #4637, #3775, and #3022), and that's with only a single mermaid package!

@sidharthv96
Copy link
Member Author

@knsv can switch to changesets?

I've seen that being used by many monorepo based projects quite well.

@Yokozuna59
Copy link
Member

maybe related to #2459?

@sidharthv96 sidharthv96 linked a pull request Aug 14, 2023 that will close this issue
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Triage Needs to be verified, categorized, etc
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants