Compare commits

..

29 Commits

Author SHA1 Message Date
Sidharth Vinod
166dca4924 webpack test 2022-11-08 12:51:59 +05:30
Sidharth Vinod
75d276e19e Merge branch 'release_9.2.1_bugfixes' into sidv/webpackTest
* release_9.2.1_bugfixes:
  fix(mermaid): default mermaid back to CommonJS
  fix(mermaid): fix mermaid.render types
2022-11-07 14:32:35 +05:30
Sidharth Vinod
2243af1871 Merge pull request #3767 from aloisklink/fix/convert-package-back-to-commonjs
[9.2] fix(mermaid): default mermaid back to CommonJS
2022-11-07 14:31:45 +05:30
Sidharth Vinod
41dbf0fa96 Merge pull request #3768 from aloisklink/fix/fix-mermaid.render-types
[9.2] fix(mermaid): fix `mermaid.render` types
2022-11-07 14:01:37 +05:30
Alois Klink
1a5e7315c0 fix(mermaid): default mermaid back to CommonJS
Default mermaid back to being a CommonJS module.

Improrting Mermaid as CommonJS (e.g. using `require("mermaid")`)
is normally broken (since v8), due to it's dependency on d3,
which is now ESM only.

However, it looks like some software
(e.g. TypeScript, in the docusaurus project)
could still handle the CommonJS version of Mermaid.

This commit now means that older versions of Node/build-tools
should now default to using the CommonJS version of Mermaid.

Newer tools should still see that the `"module"` field points to ESM,
or use the `exports["."]["import"]` field to load ESM.
2022-11-06 23:41:09 +00:00
Alois Klink
da6bb9498a fix(mermaid): fix mermaid.render types
The cb param of mermaid.render should be optional,
and mermaid.render returns an SVG string instead of `void`.
2022-11-06 22:46:57 +00:00
Sidharth Vinod
1e417833f4 Basic webpack 2022-11-04 11:29:24 +05:30
Sidharth Vinod
97a7f1fd71 Merge pull request #2739 from Andre601/feature/issue-templates
Use issue templates and add diagram, theme and syntax proposal issue forms
2022-11-03 11:07:00 +05:30
Sidharth Vinod
c86d46eb8a Add Security Policy 2022-11-03 11:06:21 +05:30
Sidharth Vinod
361dd6a96e Add Security Policy 2022-11-03 10:59:57 +05:30
Sidharth Vinod
17adec38af chore: lint 2022-11-03 10:59:56 +05:30
Andre_601
638b9d9aae Discussions are now available 2022-11-03 10:59:56 +05:30
Andre_601
c8f6994895 Make colors required 2022-11-03 10:59:55 +05:30
Andre_601
1117a80500 make setup not required 2022-11-03 10:59:55 +05:30
Andre_601
5d83ec6fa2 Update theme_proposal.yml 2022-11-03 10:59:54 +05:30
Andre_601
bab5937426 Update syntaxt_proposal.yml 2022-11-03 10:59:54 +05:30
Andre_601
099a26977a Update diagram_proposal.yml 2022-11-03 10:59:53 +05:30
Andre_601
0b834485a8 Update bug_report.yml 2022-11-03 10:59:52 +05:30
Andre_601
41f21d4f72 Delete question.md 2022-11-03 10:59:50 +05:30
Andre_601
312e5f3d96 Create syntaxt_proposal.yml 2022-11-03 10:59:35 +05:30
Andre_601
6ef3e7f536 Create theme_proposal.yml 2022-11-03 10:59:34 +05:30
Andre_601
4f5228aec4 Create diagram_proposal.yml 2022-11-03 10:59:32 +05:30
Andre_601
b9daa35558 Switch to bug_report.yml 2022-11-03 10:59:10 +05:30
Andre_601
21304a9677 Create config.yml 2022-11-03 10:57:57 +05:30
Knut Sveidqvist
3f6613ea9f Updated mermaid version for the docs 2022-11-01 15:52:35 +01:00
Knut Sveidqvist
c8635c0b9b Merge branch 'release/9.2.0'
Conflicts:
	.github/ISSUE_TEMPLATE/bug_report.md
2022-11-01 15:37:00 +01:00
Sidharth Vinod
7a47fcfcbc Merge pull request #3727 from gibson042/2022-10-issue-template
chore: Update bug report template
2022-10-29 23:44:02 +05:30
Richard Gibson
5d048ce21e chore: Update bug report template
Add common pattern for reproduction with https://mermaid.live/
2022-10-26 23:17:15 -04:00
Knut Sveidqvist
c5d859e52e Merge branch 'release/9.1.7' 2022-09-13 20:12:08 +02:00
20 changed files with 1209 additions and 130 deletions

View File

@@ -1,43 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'Status: Triage, Type: Bug / Error'
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Code Sample**
If applicable, add the code sample or a link to the [live editor](https://mermaid.live).
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

69
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,69 @@
name: Bug Report
description: Create a report to help us improve
labels:
- 'Status: Triage'
- 'Type: Bug / Error'
body:
- type: markdown
attributes:
value: |-
## Security vulnerabilities
Please refer our [Security Policy](https://github.com/mermaid-js/.github/blob/main/SECURITY.md) and report to keep vulnerabilities confidential so we can release fixes first.
## Before you submit...
We like to help you, but in order to do that should you make a few things first:
- Use a clear and concise title
- Fill out the text fields with as much detail as possible.
- Never be shy to give us screenshots and/or code samples. It will help!
- type: textarea
attributes:
label: Description
description: Give a clear and concise description of what the bug is.
placeholder: When I do ... does ... happen.
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: Give a step-by-step example on how to reproduce the bug.
placeholder: |-
1. Do this
2. Do that
3. ...
4. Bug!
validations:
required: true
- type: textarea
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your issue.
- type: textarea
attributes:
label: Code Sample
description: |-
If applicable, add the code sample or a link to the [Live Editor](https://mermaid.live).
Any text pasted here will be rendered as a Code block.
render: text
- type: textarea
attributes:
label: Setup
description: |-
Please fill out the below info.
Note that you only need to fill out one and not both sections.
value: |-
**Desktop**
- OS and Version: [Windows, Linux, Mac, ...]
- Browser and Version: [Chrome, Edge, Firefox]
**Smartphone**
- Device: [Samsung, iPhone, ...]
- OS and Version: [Android, iOS, ...]
- Browser and Version: [Chrome, Safari, ...]
- type: textarea
attributes:
label: Additional Context
description: Anything else to add?

17
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
blank_issues_enabled: false
contact_links:
- name: GitHub Discussions
url: https://github.com/mermaid-js/mermaid/discussions
about: Ask the Community questions or share your own graphs in our discussions.
- name: Security Vulnerability
url: https://github.com/mermaid-js/.github/blob/main/SECURITY.md
about: Report security issues confidentially.
- name: Slack
url: https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE
about: Join our Community on Slack for Help and a casual chat.
- name: Documentation
url: https://mermaid-js.github.io
about: Read our documentation for all that Mermaid.js can offer.
- name: Live Editor
url: https://mermaid.live
about: Try the live editor to preview graphs in no time.

View File

@@ -0,0 +1,42 @@
name: Diagram Proposal
description: Suggest a new Diagram Type to add to Mermaid.
labels:
- 'Status: Triage'
- 'Type: Enhancement'
body:
- type: markdown
attributes:
value: |-
## Before you submit...
First of all, thank you for proposing a new Diagram to us.
We are always happy about new ideas to improve Mermaid.js wherever possible.
To get the fastest and best response possible, make sure you do the following:
- Use a clear and concise title
- Fill out the text fields with as much detail as possible.
- Never be shy to give us screenshots and/or code samples. It will help!
- type: textarea
attributes:
label: Proposal
description: A clear and concise description of what should be added to Mermaid.js.
placeholder: Mermaid.js should add ... because ...
validations:
required: true
- type: textarea
attributes:
label: Use Cases
description: If applicable, give some use cases for where this diagram would be useful.
placeholder: The Diagram could be used for ...
- type: textarea
attributes:
label: Screenshots
description: If applicable, add screenshots to show possible examples of how the diagram may look like.
- type: textarea
attributes:
label: Code Sample
description: |-
If applicable, add a code sample for how to implement this new diagram.
The text will automatically be rendered as JavaScript code.
render: javascript

View File

@@ -1,19 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'Status: Triage, Type: Enhancement'
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -1,16 +0,0 @@
---
name: Question
about: Get some help from the community.
title: ''
labels: 'Help wanted!, Type: Other'
assignees: ''
---
## Help us help you!
You want an answer. Here are some ways to get it quicker:
- Use a clear and concise title.
- Try to pose a clear and concise question.
- Include as much, or as little, code as necessary.
- Don't be shy to give us some screenshots, if it helps!

View File

@@ -0,0 +1,34 @@
name: Syntax Proposal
description: Suggest a new Syntax to add to Mermaid.js.
labels:
- 'Status: Triage'
- 'Type: Enhancement'
body:
- type: markdown
attributes:
value: |-
## Before you submit...
First of all, thank you for proposing a new Syntax to us.
We are always happy about new ideas to improve Mermaid.js wherever possible.
To get the fastest and best response possible, make sure you do the following:
- Use a clear and concise title
- Fill out the text fields with as much detail as possible. Examples are always welcome.
- Never be shy to give us screenshots and/or code samples. It will help!
- type: textarea
attributes:
label: Proposal
description: A clear and concise description of what Syntax should be added to Mermaid.js.
placeholder: Mermaid.js should add ... because ...
validations:
required: true
- type: textarea
attributes:
label: Example
description: If applicable, provide an example of the new Syntax.
- type: textarea
attributes:
label: Screenshots
description: If applicable, add screenshots to show possible examples of how the theme may look like.

View File

@@ -0,0 +1,42 @@
name: Theme Proposal
description: Suggest a new theme to add to Mermaid.js.
labels:
- 'Status: Triage'
- 'Type: Enhancement'
body:
- type: markdown
attributes:
value: |-
## Before you submit...
First of all, thank you for proposing a new Theme to us.
We are always happy about new ideas to improve Mermaid.js wherever possible.
To get the fastest and best response possible, make sure you do the following:
- Use a clear and concise title
- Fill out the text fields with as much detail as possible. Examples are always welcome!
- Never be shy to give us screenshots and/or code samples. It will help!
- type: textarea
attributes:
label: Proposal
description: A clear and concise description of what theme should be added to Mermaid.js.
placeholder: Mermaid.js should add ... because ...
validations:
required: true
- type: textarea
attributes:
label: Colors
description: |-
A detailed list of the different colour values to use.
A list of currently used variable names can be found [here](https://mermaid-js.github.io/mermaid/#/theming?id=theme-variables-reference-table)
placeholder: |-
- background: #f4f4f4
- primaryColor: #fff4dd
- ...
validations:
required: true
- type: textarea
attributes:
label: Screenshots
description: If applicable, add screenshots to show possible examples of how the theme may look like.

3
.npmrc
View File

@@ -1 +1,2 @@
auto-install-peers=true
auto-install-peers=true
strict-peer-dependencies=false

View File

@@ -50,7 +50,7 @@
<div id="app"></div>
<script type="module">
// import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9/dist/mermaid.esm.min.mjs';
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9.2.0-rc6/dist/mermaid.esm.min.mjs';
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9.2.0/dist/mermaid.esm.min.mjs';
// import mermaid from 'http://localhost:9000/mermaid.esm.mjs';
console.log(mermaid); // eslint-disable-line
window.mermaid = mermaid;
@@ -61,7 +61,7 @@
startOnLoad: true,
themeCSS: '.label { font-family: Source Sans Pro,Helvetica Neue,Arial,sans-serif; }',
lazyLoadedDiagrams: [
'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-mindmap@9.2.0-rc3/dist/mermaid-mindmap-detector.esm.mjs',
'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-mindmap@9.2.0/dist/mermaid-mindmap-detector.esm.mjs',
// 'http://localhost:9000/mermaid-mindmap-detector.esm.mjs',
],
};

View File

@@ -3,19 +3,8 @@
"private": true,
"version": "9.2.0-rc4",
"description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
"main": "dist/mermaid.core.mjs",
"module": "dist/mermaid.core.mjs",
"types": "dist/mermaid.d.ts",
"type": "module",
"packageManager": "pnpm@7.13.2",
"exports": {
".": {
"require": "./dist/mermaid.min.js",
"import": "./dist/mermaid.core.mjs",
"types": "./dist/mermaid.d.ts"
},
"./*": "./*"
},
"keywords": [
"diagram",
"markdown",
@@ -147,9 +136,6 @@
"resolutions": {
"d3": "^7.0.0"
},
"files": [
"dist"
],
"sideEffects": [
"**/*.css",
"**/*.scss"

View File

@@ -2,10 +2,10 @@
"name": "mermaid",
"version": "9.2.0",
"description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
"main": "./dist/mermaid.core.mjs",
"main": "./dist/mermaid.min.js",
"module": "./dist/mermaid.core.mjs",
"types": "./dist/mermaid.d.ts",
"type": "module",
"type": "commonjs",
"exports": {
".": {
"require": "./dist/mermaid.min.js",

View File

@@ -482,9 +482,9 @@ const parseAsync = (txt: string) => {
const renderAsync = (
id: string,
text: string,
cb: (svgCode: string, bindFunctions?: (element: Element) => void) => void,
cb?: (svgCode: string, bindFunctions?: (element: Element) => void) => void,
container?: Element
): Promise<void> => {
): Promise<string> => {
return new Promise((resolve, reject) => {
// This promise will resolve when the mermaidAPI.render call is done.
// It will be queued first and will be executed when it is first in line

View File

@@ -115,19 +115,19 @@ export const decodeEntities = function (text: string): string {
*
* @param {string} id The id of the element to be rendered
* @param {string} text The graph definition
* @param {(svgCode: string, bindFunctions?: (element: Element) => void) => void} cb Callback which
* @param cb - Optional callback which
* is called after rendering is finished with the svg code as inparam.
* @param {Element} container Selector to element in which a div with the graph temporarily will be
* inserted. If one is provided a hidden div will be inserted in the body of the page instead. The
* element will be removed when rendering is completed.
* @returns {void}
* @returns Returns the rendered element as a string containing the SVG definition.
*/
const render = function (
id: string,
text: string,
cb: (svgCode: string, bindFunctions?: (element: Element) => void) => void,
cb?: (svgCode: string, bindFunctions?: (element: Element) => void) => void,
container?: Element
): void {
): string {
addDiagrams();
configApi.reset();
text = text.replace(/\r\n?/g, '\n'); // parser problems on CRLF ignore all CR and leave LF;;
@@ -401,9 +401,9 @@ const render = function (
const renderAsync = async function (
id: string,
text: string,
cb: (svgCode: string, bindFunctions?: (element: Element) => void) => void,
cb?: (svgCode: string, bindFunctions?: (element: Element) => void) => void,
container?: Element
): Promise<void> {
): Promise<string> {
addDiagrams();
configApi.reset();
text = text.replace(/\r\n?/g, '\n'); // parser problems on CRLF ignore all CR and leave LF;;

968
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
packages:
# all packages in direct subdirs of packages/
- 'packages/*'
- 'tests/*'

View File

@@ -0,0 +1,22 @@
{
"name": "webpack",
"version": "1.0.0",
"description": "",
"private": true,
"module": "commonjs",
"scripts": {
"build": "webpack",
"serve": "webpack serve"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.11.1"
},
"dependencies": {
"mermaid": "workspace:*"
}
}

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Getting Started</title>
</head>
<body>
<script src="./main.js"></script>
</body>
</html>

View File

@@ -0,0 +1,6 @@
/* eslint-disable @typescript-eslint/no-var-requires */
/* eslint-disable no-console */
const mermaid = require('mermaid');
// import mermaid from 'mermaid';
console.log(mermaid);

View File

@@ -0,0 +1,9 @@
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
},
};