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.
Expose the function `initThrowsErrorsAsync()` publicly
as `mermaid.initThrowsErrorsAsync()`.
It has the TSDoc `@alpha` and `@deprecated` tags, so people should
be warned that it might be modified in Mermaid v10 or earlier.
Needed for `mermaid-cli` to handle `lazyLoadedDiagrams`.
This reverts commit 1a0309fb87, reversing
changes made to 56a8068a7f.
This is because the PR https://github.com/mermaid-js/mermaid/pull/3702
worked fine on the `develop` and `release_9.2.0_buggfixes` branches,
but had a bunch of git merge conflicts on the `release/9.2.0` branch.
* sidv/noVar: (77 commits)
fix: Fix eslint warnings
docs: Fix docs path in Contributing.md
Fix file name during "dev" script
docs: Sync
capitalization fix
format Setup.md
format cSpell.json
format docs YAML
format cSpell.json
separate words & ignoreWords
fix: "skin param"
ignore the changelog
Revert "fix: "skin param""
fix: "skin param"
fix: "corresponding"
known terms
known terms
fix: "JetBrains"
known terms
known terms
...
* develop: (50 commits)
docs: Sync
capitalization fix
format Setup.md
format cSpell.json
format docs YAML
format cSpell.json
separate words & ignoreWords
fix: "skin param"
ignore the changelog
Revert "fix: "skin param""
fix: "skin param"
fix: "corresponding"
known terms
known terms
fix: "JetBrains"
known terms
known terms
fix: "stable"
known term
add known term
...
* develop:
Fix for broken test
fix: build npm-script
Fix for issue in classdiagram-v2 from the typescript updates
fix: build npm-script
chore: Cleanup
chore: cleanup
fix: dynamic import
fix: module import in pie chart demo
fix: use async in render-after-error
* develop:
Appended Contact Mail of Mermaid
Added sttributes to CODE OF CONDUCT
build(test): remove vitest from subpackages
test: remove `import {it} from "vitest"`
chore(docs): run `pnpm run docs:build`
CODE_OF_CONDUCT Uploaded
Removes vitest from all subpackages so that vitest/`pnpm run test`
are only in the root mono-repo.
This is required, because otherwise the root vitest and the subpackage
vitest versions can otherwise be slightly different, which causes
issues when running unit tests:
```Snapshot cannot be used outside of test```
In the future, we may want to consider moving package specific
tests into `packages/*/test`, and instead running these tests
with `pnpm run --recursive`, so that tests are run in each package by
their own version of vitest. This is the way that most projects
do things (e.g. https://github.com/vitest-dev/vitest).
We're getting a lot of vitest errors that say:
```Error: No test suite found in file```
I think this is because vitest is somehow
importing a different version the it/test function than the globally
inserted functions.
Removing the imports fixes this.
It looks like the docs/ folder somehow got out of sync
with the packages/mermaid/src/docs folder.
Maybe it was due to a semantic merge conflict
(e.g. `git merge` didn't throw an error, but the merge was bad)
* upstream/develop: (33 commits)
Updated lockfile
chore(deps-dev): update vite requirement from ^3.0.9 to ^3.1.4
chore(deps-dev): update typescript requirement from ^4.8.3 to ^4.8.4
chore(deps-dev): update @vitest/coverage-c8 requirement
chore(deps-dev): update @typescript-eslint/eslint-plugin requirement
chore(deps-dev): update esbuild requirement from ^0.15.8 to ^0.15.10
chore(deps-dev): update @commitlint/config-conventional requirement
chore(deps-dev): update eslint-plugin-jest requirement
chore(deps-dev): update @applitools/eyes-cypress requirement
chore(deps-dev): update jsdom requirement from ^20.0.0 to ^20.0.1
chore(deps-dev): update vitest requirement from ^0.23.1 to ^0.23.4
chore(deps-dev): update lint-staged requirement from ^13.0.0 to ^13.0.3
chore(deps): update @types/node requirement from ^18.7.21 to ^18.8.1
chore(deps-dev): update @typescript-eslint/parser requirement
Fix postbuild script
#3561 Adding cScale0-11 etc and usage of the colors from the mindmap diagram
Fix for broken test
Mindmap cleanup
Using cose-bilkent layout algorithm for mindmaps
chore(deps-dev): update husky requirement from ^8.0.0 to ^8.0.1
...
When running lint-staged during git pre-commit scripts,
search for docs in the packages/mermaid/src/docs folder instead
of the original src/docs folder.
Our docs script was searching for docs in the src/docs folder,
which no longer exists.
Instead, it should be looking at the packages/mermaid/src/docs folder.
Re-enables the `pnpm run prepare` script.
The prepare script is automatically run when running
`pnpm install` locally.
It both:
- Sets up husky/git pre-commit scripts
- Builds the `packages/mermaid/dist` folder.
When running the e2e action from a fork, we prevent multi-processing
in the E2E cypress tests skipping runs that aren't
matrix.container == 1.
However, this means that the pnpm cache folder isn't created, causing
the cache action to throw an error.
To fix this, we also skip building Node/cache setup step.
Fixes: f60c7fff65
When moving to the mono-repo,
`<script src="http://localhost:9000/mermaid.js"/>`
stopped working, since the vite dev server was exposing
the `./dist` folder, when the folder had moved to
the `./packages/mermaid/dist` folder.
Fixes most CI actions to support pnpm and the mono-repo.
It looks like there are some errors related to `mermaid-mindmap`
not being able to find `mermaid` or `mermaid/diagramAPI`
* sidv/viteVitest:
ts conversion
cleanup
remove esbuild
fix: tests
chore: Add recommended extensions
Fix user-journey leaking css
Add "Debug Current Test File" configuration for VSCode
Fix unit test coverage
Use vite for build
Fix docs
vite
vite Server
Cleanup
Merge vitest & esbuild
Merge vitest
fix jison generation
Vite
Vite
This fixes a CSS syntax error that causes the CSS parser to soft-fail, which leads to the later CSS (custom styles) to not properly append the `#id` to them.
* develop: (30 commits)
Fix docs
Auto stash before merge of "develop" and "origin/develop"
vite -> cts
add lcov
chore(deps-dev): bump esbuild from 0.15.6 to 0.15.8
fix(docs): update link
CI Concurrency 4
Remove build
Parallel e2e
Revert "unify Jison tranformers"
Update yarn.lock
fix(docs): `mmd` detection
Hope this fails
Remove `docs:build` from postbuild.
Add verification log
This should fail CI
chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
Update integrations.md
Add vitepress pluin
Fix lint
...
* develop: (28 commits)
fix(docs): update link
Revert "unify Jison tranformers"
Update yarn.lock
Revert "fix(test): No esm exports"
fix(test): No esm exports
fix(docs): `mmd` detection
Hope this fails
unify Jison tranformers
Fix jest
Remove `docs:build` from postbuild.
Add verification log
This should fail CI
fix: imports in HTML
Revert "Add diagramAPI to outfile"
Add `type: module` to package.json
chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
Update integrations.md
Add vitepress pluin
Update mermaid version
Fix ports
...
* develop: (28 commits)
fix(docs): update link
Revert "unify Jison tranformers"
Update yarn.lock
Revert "fix(test): No esm exports"
fix(test): No esm exports
fix(docs): `mmd` detection
Hope this fails
unify Jison tranformers
Fix jest
Remove `docs:build` from postbuild.
Add verification log
This should fail CI
fix: imports in HTML
Revert "Add diagramAPI to outfile"
Add `type: module` to package.json
chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
Update integrations.md
Add vitepress pluin
Update mermaid version
Fix ports
...
* develop: (23 commits)
Revert #3475
chore: updyaate browsers list
Support EMPTYSTR in jison parser, add unit tests for git graph parser
Use undefined to mean default tagging behavior
feat(git): allow cherry-pick to suppress tag altogether
Update src/diagrams/git/parser/gitGraph.jison
fix(git): fix cherry-pick regex parsing error
test(git): add basic parsing test for cherry-pick
feat(git): cherry-pick keyword supports tag attribute
ci(e2e-applitols): add applitools CI action
Test docs:verify
Cleanup docs
Fixed Linting issues
ci(e2e): re-enable e2e tests
style: fix .github/workflow/e2e styling
chore: upgrade cypress to v10
fix(flowchart-v2): fix arrowMarkerAbsolute=true
test(e2e): fix most arrowMarkerAbsolute tests
text(e2e): give git tests consistent commit id
test(e2e): widen flowchart width to within 10%
...
* develop:
Revert #3475
chore: update browsers list
Support EMPTYSTR in jison parser, add unit tests for git graph parser
Use undefined to mean default tagging behavior
feat(git): allow cherry-pick to suppress tag altogether
Update src/diagrams/git/parser/gitGraph.jison
fix(git): fix cherry-pick regex parsing error
test(git): add basic parsing test for cherry-pick
feat(git): cherry-pick keyword supports tag attribute
ci(e2e-applitols): add applitools CI action
Test docs:verify
Cleanup docs
Fixed Linting issues
#3409 Clean up dead code
#3409 Fixed the truncated tags issue
* develop:
chore: update browsers list
Support EMPTYSTR in jison parser, add unit tests for git graph parser
Use undefined to mean default tagging behavior
feat(git): allow cherry-pick to suppress tag altogether
Update src/diagrams/git/parser/gitGraph.jison
fix(git): fix cherry-pick regex parsing error
test(git): add basic parsing test for cherry-pick
feat(git): cherry-pick keyword supports tag attribute
Test docs:verify
Cleanup docs
Fixed Linting issues
Adds a [`workflow_dispatch`][1] GitHub Actions CI workflow
that performs an E2E Cypress rendering test with Applitools
integration.
If the APPLITOOLS_API_KEY secret is not set, this action fallsback to
just doing a normal E2E Cypress test without Applitools support.
[1]: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
* develop: (221 commits)
cleanup
Fix docs
Fix coverage
Fix for issues in errorhandling and class diagrams after refactoring
Replace GoogleAnalytics with Plausible
chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
fix(git): support single character branch names
Cleanup unused variables and some commented out code
Cleanup fixing som lingering issues
Remove extension
Apply suggestions from code review
ci(e2e): re-enable e2e tests
style: fix .github/workflow/e2e styling
chore: upgrade cypress to v10
fix(flowchart-v2): fix arrowMarkerAbsolute=true
test(e2e): fix most arrowMarkerAbsolute tests
text(e2e): give git tests consistent commit id
test(e2e): widen flowchart width to within 10%
...
* develop:
cleanup
Fix docs
Fix coverage
Fix for issues in errorhandling and class diagrams after refactoring
Replace GoogleAnalytics with Plausible
fix(git): support single character branch names
Cleanup unused variables and some commented out code
ci(e2e): re-enable e2e tests
style: fix .github/workflow/e2e styling
chore: upgrade cypress to v10
fix(flowchart-v2): fix arrowMarkerAbsolute=true
test(e2e): fix most arrowMarkerAbsolute tests
text(e2e): give git tests consistent commit id
test(e2e): widen flowchart width to within 10%
test(e2e): fix failing xss9 test
* develop: (77 commits)
cleanup
Fix docs
Fix coverage
Fix for issues in errorhandling and class diagrams after refactoring
Replace GoogleAnalytics with Plausible
chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
fix(git): support single character branch names
Cleanup unused variables and some commented out code
Cleanup fixing som lingering issues
Remove extension
Apply suggestions from code review
ci(e2e): re-enable e2e tests
style: fix .github/workflow/e2e styling
chore: upgrade cypress to v10
fix(flowchart-v2): fix arrowMarkerAbsolute=true
test(e2e): fix most arrowMarkerAbsolute tests
text(e2e): give git tests consistent commit id
test(e2e): widen flowchart width to within 10%
...
* sidv/esbuild: (115 commits)
cleanup
Fix docs
Fix coverage
Fix for issues in errorhandling and class diagrams after refactoring
Replace GoogleAnalytics with Plausible
chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
fix(git): support single character branch names
Cleanup unused variables and some commented out code
Cleanup fixing som lingering issues
Remove extension
Apply suggestions from code review
chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 (#3458)
chore(deps-dev): bump @typescript-eslint/eslint-plugin (#3457)
chore(deps-dev): bump concurrently from 7.3.0 to 7.4.0 (#3445)
chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 (#3442)
chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.37.0 (#3451)
chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 (#3447)
chore(deps-dev): bump jest-environment-jsdom from 29.0.2 to 29.0.3 (#3441)
...
* develop:
Replace GoogleAnalytics with Plausible
fix(git): support single character branch names
Cleanup unused variables and some commented out code
Release 9.1.7
Fix for broken rendering test
Fix for issue #3428, load the configured diagrams even when initialize has not been called.
#3395 Renabling the error graph which is rendered on error
#3395 Fix for lopp stopping at first failure
* sidv/esbuild:
chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
Cleanup fixing som lingering issues
Apply suggestions from code review
chore: fix eslint warnings
chore: Turn off eslint rules in spec, demos, etc.
* develop: (56 commits)
chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
Cleanup fixing som lingering issues
Apply suggestions from code review
chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 (#3458)
chore(deps-dev): bump @typescript-eslint/eslint-plugin (#3457)
chore(deps-dev): bump concurrently from 7.3.0 to 7.4.0 (#3445)
chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 (#3442)
chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.37.0 (#3451)
chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 (#3447)
chore(deps-dev): bump jest-environment-jsdom from 29.0.2 to 29.0.3 (#3441)
chore(deps-dev): bump babel-jest from 29.0.2 to 29.0.3 (#3448)
chore(deps-dev): bump eslint from 8.23.0 to 8.23.1
chore: fix eslint warnings
chore: Turn off eslint rules in spec, demos, etc.
chore(deps-dev): bump typescript from 4.8.2 to 4.8.3 (#3446)
chore(deps): bump actions/checkout from 2 to 3 (#3449)
change wording of console log message (use comma)
Moving out tests from mermaid.spec.js
...
In gitGraph, add support branch names that only have a single
character.
The branch regex is checking for a starting character, and an
ending character, so it currently needs at least two characters.
I've wrapped everything except the first character in a `()?` to fix
this.
There are some really complicated regexes that do match what
valid git branches are (see https://stackoverflow.com/a/12093994), but
I'm reluctant to add them in, since it will be a pain to test all
the different edgecases.
Hopefully https://github.com/mermaid-js/mermaid/pull/3432 might be used
in the future to make a better gitgraph parser!
* sidv/mergeRelease:
chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 (#3458)
chore(deps-dev): bump @typescript-eslint/eslint-plugin (#3457)
chore(deps-dev): bump concurrently from 7.3.0 to 7.4.0 (#3445)
chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 (#3442)
chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.37.0 (#3451)
chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 (#3447)
chore(deps-dev): bump jest-environment-jsdom from 29.0.2 to 29.0.3 (#3441)
chore(deps-dev): bump babel-jest from 29.0.2 to 29.0.3 (#3448)
chore(deps-dev): bump eslint from 8.23.0 to 8.23.1
Release 9.1.7
Fix for broken rendering test
Fix for issue #3428, load the configured diagrams even when initialize has not been called.
* origin/release/9.1.7:
Release 9.1.7
Fix for broken rendering test
Fix for issue #3428, load the configured diagrams even when initialize has not been called.
I've removed the coverage upload bit, since although the
[@cypress/code-coverage][1] plugin is pretty easy to setup,
it requires babel, which we're about to remove and replace
with ESBuild.
Cypress v10 had some minor breaking changes,
(e.g. the cypress/plugins folder dissapeared)
so I had to change some things.
It looks like the Cypress was previously reverted in [dee9cfe][1],
due to applitools not working properly,
but I think my changes fix this, so it should be okay.
[1]: dee9cfea85
The if-check for arrowMarkerAbsolute in the flowchart-v2 code is in
dagre-wrapper. Unfortunately, I can't seem to find a way to find the
local conf (e.g. the one set via `flowRenderer.setConf()`, so instead
I'm using global mermaid config from `src/config`.
Flowchart v1 arrowMarkerAbsolute=true is still broken, but I'm not
really sure how to fix that.
gitGraph render tests are currently using random commit ids,
which causes visual regression tests to fail.
I couldn't find a way to make the random commit IDs consistent
(JavaScript/Cypress doesn't seem to have a random.seed() function),
so I've just hardcoded all the commit ids.
* develop: (40 commits)
chore(deps-dev): bump typescript from 4.8.2 to 4.8.3 (#3446)
chore(deps): bump actions/checkout from 2 to 3 (#3449)
change wording of console log message (use comma)
Moving out tests from mermaid.spec.js
Fix for issue with setting the loglevel via numbers
chore: update browsers list
Limiting the interaction between the mermaid diagram and Mermaid to the diagramAPI
Fix for broken tests
chore(docs): Remove edit this page
fix(git): support unusual prefixes in branch name
formatting
eslint fixes
Creating detectors and moving out diagram specific code from the diagramAPI
add eslint-disable no-console for file
fix: Run precommit hook for doc.mts changes too
chore: Updated doc files
fix: Formatting issue
(formatting only) sort imports just to force a new CI lint check
ci: re-enable coveralls coverage upload
build(dev-deps): remove unused `coveralls`
...
`mermaid.core.mjs` should be the default export.
This is because it does not bundle `node_modules/`, allowing users of
mermaid to bundle dependencies themselves,
using Webpack/ESBuild/others.
The `mermaid.core.js` build was previously a UMD build that did not
have `node_modules` bundled.
This was designed for users to add `mermaid` to their own apps,
then bundle with Webpack/ESBuild.
Hence the bundle test in `cypress/platform/bundle-test.js`.
As ESBuild does not support UMD, I've switched the `mermaid.core.js`
to instead use ESM, as Mermaid now requires ESM
(due to d3 requiring ESM). All modern bundlers also support ESM.
When converting a `.jison` file into a CommonJS module,
jison by default adds a main() function that calls `require("fs");`
Even though the main function is never used in the browser,
because `fs` is a Node.JS only module, this causes some esbuild issues.
To disable this, we can just set an empty main to the jison generator.
* develop: (22 commits)
fix: Tsconfig
ci: lint .jison files for any console.log()
refactor: remove `console.log` in c4Diagram.jison
style: forbid using `console` in mermaid src code
Add tests for other boundary properties
Add first test for Boundary
Test all different types of systems
Introduce shape list in test
Add tests for C4 System
Make test grouping more explicit
Copy tests from Person to PersonExt
Add test for link to Person_Ext
Add question on Person_Ext
Add test for structure of Person_Ext
Add test for alias
Add test for label
Add test for description
Add test for $tags
Add test for $link
Add test for $sprite
...
* develop: (22 commits)
fix: Tsconfig
ci: lint .jison files for any console.log()
refactor: remove `console.log` in c4Diagram.jison
style: forbid using `console` in mermaid src code
Add tests for other boundary properties
Add first test for Boundary
Test all different types of systems
Introduce shape list in test
Add tests for C4 System
Make test grouping more explicit
Copy tests from Person to PersonExt
Add test for link to Person_Ext
Add question on Person_Ext
Add test for structure of Person_Ext
Add test for alias
Add test for label
Add test for description
Add test for $tags
Add test for $link
Add test for $sprite
...
* develop:
Update prettier
chore: Run postbuild with prepare
(formatting) prettier fix
Removed warnings in the grammar oand some console logging
unmangle sentence about doc changes committed and showing up on docsify site
change references from /docs to /src/docs; rework doc section in CONTRIBUTING
* develop: (37 commits)
fix JSDOC @param, @returns; fixed a few minor typos in comments
Update after lint comments
Regenerate the directive docs as I changed them
chore(deps-dev): bump typescript from 4.7.4 to 4.8.2
Update duplicate copy pasted directive description
chore(deps-dev): bump babel-jest from 29.0.1 to 29.0.2
Lint fixes
Removing requirement to add ids for nodes with a shape
Merged typescript changes
Updated with cloud and bang shapes
Adding cloud and bang shapes
fix(git): support numeric branch names
Fix for unit tests after refactoring
Documenting classes and icons
Startingpoint for the documentation
Some theming/styling fixes
Adding some rendering tests
...
* develop: (37 commits)
fix JSDOC @param, @returns; fixed a few minor typos in comments
Update after lint comments
Regenerate the directive docs as I changed them
chore(deps-dev): bump typescript from 4.7.4 to 4.8.2
Update duplicate copy pasted directive description
chore(deps-dev): bump babel-jest from 29.0.1 to 29.0.2
Lint fixes
Removing requirement to add ids for nodes with a shape
Merged typescript changes
Updated with cloud and bang shapes
Adding cloud and bang shapes
fix(git): support numeric branch names
Fix for unit tests after refactoring
Documenting classes and icons
Startingpoint for the documentation
Some theming/styling fixes
Adding some rendering tests
...
* develop: (50 commits)
Build docs
chore: update browsers list
Fix pre
Fix mermaid code formatting in html
Prettier pass
Fix XSS htmls
fix#3407 Replace `div` with `pre` and format
Add change in `src/docs`
Fix lint issue
build: run `build:prod` on `yarn prepare`
Build documentation
Fix typo
Fix typo in documentation
Fix doc
Add files only when running from lint-staged
Add files only when running from lint-staged
Fix configuration doc
Prettier Pass
Add dotfiles
Prettier
...
* develop: (50 commits)
Typo fix
Fix repo URL
Revert flowchart change
Revert flowchart change
Fix TODO Qs
chore(deps-dev): bump @commitlint/cli from 17.1.1 to 17.1.2
chore(deps-dev): bump terser-webpack-plugin from 5.3.5 to 5.3.6
chore(deps-dev): bump webpack-dev-server from 4.10.0 to 4.10.1
Fix gitGraph findLane function error
Update dependabot.yml
Replacing replaceAll with replace
Rework 'parseDuration' as a pure duration parsing
Supports duration in decimal
Create a more consistent 'parseDuration'
Remove `@ts-ignore`s.
Fix svgDraw return types
...
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.
# npx is required for first install as volta support for pnpm is not added yet.
npx pnpm install
pnpm test
```
## Committing code
@@ -39,16 +50,16 @@ Less strict here, it is OK to commit directly in the `develop` branch if you are
The documentation is written in **Markdown**. For more information about Markdown [see the GitHub Markdown help page](https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax).
### Documentation source files are in /src/docs
### Documentation source files are in [`/packages/mermaid/src/docs`](packages/mermaid/src/docs)
The source files for the project documentation are located in the `/src/docs` directory. This is where you should make changes.
The files under `/src/docs` are processed to generate the published documentation, and the resulting files are put into the `/docs` directory.
The source files for the project documentation are located in the [`/packages/mermaid/src/docs`](packages/mermaid/src/docs) directory. This is where you should make changes.
The files under `/packages/mermaid/src/docs` are processed to generate the published documentation, and the resulting files are put into the `/docs` directory.
source["files in /src/docs\n(changes should be done here)"] -- automatic processing\nto generate the final documentation--> published["files in /docs\ndisplayed on the official documentation site"]
source["files in /packages/mermaid/src/docs\n(changes should be done here)"] -- automatic processing\nto generate the final documentation--> published["files in /docs\ndisplayed on the official documentation site"]
```
@@ -103,7 +114,7 @@ This is important so that, if someone else does a change to the grammar that doe
This tests the rendering and visual appearance of the diagram. This ensures that the rendering of that feature in the e2e will be reviewed in the release process going forward. Less chance that it breaks!
To start working with the e2e tests, run `yarn dev` to start the dev server, after that start cypress by running `cypress open` in the mermaid folder. (Make sure you have path to cypress in order, the binary is located in node_modules/.bin).
To start working with the e2e tests, run `pnpm run dev` to start the dev server, after that start cypress by running `pnpm exec cypress open` in the mermaid folder.
The rendering tests are very straightforward to create. There is a function imgSnapshotTest. This function takes a diagram in text form, the mermaid options and renders that diagram in cypress.
Finally, if it is not in the documentation, no one will know about it and then **no one will use it**. Wouldn't that be sad? With all the effort that was put into the feature?
The source files for documentation are in `/src/docs` and are written in markdown. Just pick the right section and start typing. See the [Committing Documentation](#committing-documentation) section for more about how the documentation is generated.
The source files for documentation are in `/packages/mermaid/src/docs` and are written in markdown. Just pick the right section and start typing. See the [Committing Documentation](#committing-documentation) section for more about how the documentation is generated.
#### Adding to or changing the documentation organization
We are transforming the Mermaid repository to a so called mono-repo. This is a part of the effort to decouple the diagrams from the core of mermaid. This will:
- Make it possible to select which diagrams to include on your site
- Open up for lazy loading
- Make it possible to add diagrams from outside of the Mermaid repository
- Separate the release flow between different diagrams and the Mermaid core
As such be aware of some changes..
# We use pnpm now
# The source code has moved
It is now located in the src folder for each respective package located as subfolders in packages.
id1 --> id2--> id3[I am number 3 and I<br/>am a gigantic node<br/>am a gigantic node<br/>am a gigantic node<br/>am a gigantic node<br/>am a gigantic node]--> id4--> id5 --> id1
title Container diagram for Internet Banking System
System_Ext(email_system, "E-Mail System", "The internal Microsoft Exchange system", $tags="v1.0")
Person(customer, Customer, "A customer of the bank, with personal bank accounts", $tags="v1.0")
Container_Boundary(c1, "Internet Banking") {
Container(spa, "Single-Page App", "JavaScript, Angular", "Provides all the Internet banking functionality to customers via their web browser")
Container_Ext(mobile_app, "Mobile App", "C#, Xamarin", "Provides a limited subset of the Internet banking functionality to customers via their mobile device")
Container(web_app, "Web Application", "Java, Spring MVC", "Delivers the static content and the Internet banking SPA")
title Component diagram for Internet Banking System - API Application
Container(spa, "Single Page Application", "javascript and angular", "Provides all the internet banking functionality to customers via their web browser.")
Container(ma, "Mobile App", "Xamarin", "Provides a limited subset ot the internet banking functionality to customers via their mobile mobile device.")
Container(c1, "Single-Page Application", "JavaScript and Angular", "Provides all of the Internet banking functionality to customers via their web browser.")
Container_Boundary(b, "API Application") {
Component(c3, "Security Component", "Spring Bean", "Provides functionality Related to signing in, changing passwords, etc.")
Component(c2, "Sign In Controller", "Spring MVC Rest Controller", "Allows users to sign in to the Internet Banking System.")
title Deployment Diagram for Internet Banking System - Live
Deployment_Node(mob, "Customer's mobile device", "Apple IOS or Android"){
Container(mobile, "Mobile App", "Xamarin", "Provides a limited subset of the Internet Banking functionality to customers via their mobile device.")
}
Deployment_Node(comp, "Customer's computer", "Mircosoft Windows or Apple macOS"){
Deployment_Node(browser, "Web Browser", "Google Chrome, Mozilla Firefox,<br/> Apple Safari or Microsoft Edge"){
Container(spa, "Single Page Application", "JavaScript and Angular", "Provides all of the Internet Banking functionality to customers via their web browser.")
}
}
Deployment_Node(plc, "Big Bank plc", "Big Bank plc data center"){
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.