Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bd52517351 | ||
|
|
f1bd270f07 | ||
|
|
ec4bf6375e | ||
|
|
a2d14c7b34 | ||
|
|
6fc4048185 | ||
|
|
e29ab236ad | ||
|
|
2f4dbbf84b | ||
|
|
49059c4b90 | ||
|
|
d721cd07a2 | ||
|
|
f8567cbda7 | ||
|
|
b0e5c7781a | ||
|
|
d96a2fc722 | ||
|
|
cbb1003c7a | ||
|
|
7aabfb97ac | ||
|
|
b7b06eaa2e | ||
|
|
88b46b7cf3 | ||
|
|
896683d741 | ||
|
|
dc94df8817 | ||
|
|
ec5fc9d474 | ||
|
|
0819afa93c | ||
|
|
21676917cf | ||
|
|
2418d444c5 | ||
|
|
0c5cad8473 | ||
|
|
3eaeeea331 | ||
|
|
0f376a82c7 | ||
|
|
8b59eb960d | ||
|
|
ec24eba27e | ||
|
|
e644546864 | ||
|
|
0da191f860 | ||
|
|
3d008b2fb2 | ||
|
|
15004d3776 | ||
|
|
695d0680db | ||
|
|
00d0225689 | ||
|
|
548b917d0d | ||
|
|
baeffc4292 | ||
|
|
69fe64a8e4 | ||
|
|
4640f79b2f | ||
|
|
762c479729 | ||
|
|
f6d802f913 | ||
|
|
e260359926 | ||
|
|
da4df81cd8 | ||
|
|
a753b5b45e | ||
|
|
73dd996293 | ||
|
|
dca536a407 | ||
|
|
e4219bf116 | ||
|
|
4c8ad4407a | ||
|
|
73b8ce7580 | ||
|
|
5f21c2eca4 | ||
|
|
085d7ddc88 | ||
|
|
744a221cd7 | ||
|
|
efae92ff21 | ||
|
|
42343146dc | ||
|
|
508d9ca89e | ||
|
|
1db239f691 | ||
|
|
9021ed0bbc | ||
|
|
67009a7da9 | ||
|
|
e00cd09164 | ||
|
|
61a360193f | ||
|
|
32070044e5 | ||
|
|
3daef62cda | ||
|
|
cb29af01ad | ||
|
|
cc6c8b5052 | ||
|
|
94f138ea0e | ||
|
|
239151821c | ||
|
|
faaf15e21e | ||
|
|
0ed6bc50f6 | ||
|
|
db9624cab0 | ||
|
|
bde188dbe1 | ||
|
|
6d4af6b3f2 | ||
|
|
5b65d81dd4 | ||
|
|
f9db9d7d39 | ||
|
|
88f7aa6ddc | ||
|
|
266aa67d2f | ||
|
|
2efcecb7ee | ||
|
|
50e7d544c3 | ||
|
|
09798d6e6d | ||
|
|
d70cdbfee7 | ||
|
|
b7178d9bb2 | ||
|
|
a24e275615 | ||
|
|
2f110697df | ||
|
|
ae2d8f6fbc | ||
|
|
4e6782a212 | ||
|
|
28a5548fd3 | ||
|
|
56f99bdeda | ||
|
|
9b4abda784 | ||
|
|
a65050900e | ||
|
|
81685cadc5 | ||
|
|
afcf1c0efa | ||
|
|
67721f1b03 | ||
|
|
1c8fd74414 | ||
|
|
e3e7ee9bf2 | ||
|
|
5fc528b6a0 | ||
|
|
8fd83e7359 | ||
|
|
efd051bab9 | ||
|
|
616035ea66 | ||
|
|
4521031b18 | ||
|
|
409beaa8c5 | ||
|
|
211de037cf | ||
|
|
2a10557969 | ||
|
|
9711752ef4 | ||
|
|
8ff9f4f48e | ||
|
|
8b2265ff97 | ||
|
|
56a2283fec | ||
|
|
3e5bbd7493 | ||
|
|
ef7f02efae | ||
|
|
6b6a64a892 | ||
|
|
34586a70ab | ||
|
|
7178d98a4e | ||
|
|
8b27ed91b4 | ||
|
|
2f28c0f30d | ||
|
|
4fa1502106 | ||
|
|
9ad1fec8a4 | ||
|
|
90bda5f596 | ||
|
|
cad4148dce | ||
|
|
0a3418d81a | ||
|
|
110ee8ee14 | ||
|
|
04ef8d77e3 | ||
|
|
e7f4c3ace3 | ||
|
|
6f2bede24c | ||
|
|
c978955fff | ||
|
|
ee65ff89c2 | ||
|
|
e8c6996271 | ||
|
|
53fa3a0b97 | ||
|
|
fbd70d990b | ||
|
|
925c853ade | ||
|
|
31a8449eff | ||
|
|
cfa5b4e802 | ||
|
|
5c2baa460d | ||
|
|
8acd3de9b4 | ||
|
|
d18b50821c | ||
|
|
314011daec | ||
|
|
0f57979dbb | ||
|
|
98a9277785 | ||
|
|
bef7f28f0b | ||
|
|
1421456273 | ||
|
|
c74f482b41 | ||
|
|
68c4ec7735 | ||
|
|
b8ca149d9a | ||
|
|
e33f229e4f | ||
|
|
b472024c66 | ||
|
|
16973bc430 | ||
|
|
ba560bb50f | ||
|
|
dac2b7f74e | ||
|
|
e851209076 | ||
|
|
a9463a14cd | ||
|
|
f6aee403ed | ||
|
|
67f1681b0b | ||
|
|
5cc4934be5 | ||
|
|
a6311d07c7 | ||
|
|
9da930b9ba | ||
|
|
70d849f228 | ||
|
|
06e09366c0 | ||
|
|
01f24c316b | ||
|
|
ff5e30b91b | ||
|
|
7a79863bf1 | ||
|
|
5b9c7ea997 | ||
|
|
02864bb4f2 | ||
|
|
90bbe29d61 | ||
|
|
2dacc17fbe | ||
|
|
788ca9976a | ||
|
|
5d6ca9be7b | ||
|
|
d2462ba65a | ||
|
|
7190035385 | ||
|
|
e92d488dfe | ||
|
|
bfc313be54 | ||
|
|
29f7e37dff | ||
|
|
b6f416ce68 | ||
|
|
936308d39e | ||
|
|
125bfe2f7e | ||
|
|
a85547edb3 | ||
|
|
805bf5e9e1 | ||
|
|
a5eda4b334 | ||
|
|
c770436d81 | ||
|
|
16421b8f92 | ||
|
|
7ff3761d2d | ||
|
|
6c7488dd95 | ||
|
|
3c4a75deed | ||
|
|
9713d941c6 | ||
|
|
1bb24b58e8 | ||
|
|
b753b15b14 | ||
|
|
395a0fb18b | ||
|
|
e355caed98 | ||
|
|
ef5da54d78 | ||
|
|
3cf2285312 | ||
|
|
4e91bf58d1 | ||
|
|
f74353a42b | ||
|
|
ba1afb90cf | ||
|
|
ca1054b529 | ||
|
|
72a14ec663 | ||
|
|
26c83f81f0 | ||
|
|
0d68a46300 | ||
|
|
07ceb4985c | ||
|
|
97823e64dc | ||
|
|
e16cea671b | ||
|
|
40ba7d8976 | ||
|
|
b420f010ac | ||
|
|
327deea673 | ||
|
|
70cc96d8b7 | ||
|
|
923c676ab4 | ||
|
|
f22d700f93 | ||
|
|
fc64c84f69 | ||
|
|
d530ea4e3e | ||
|
|
ce5934518f | ||
|
|
441e63eaf3 | ||
|
|
917d29d8c4 | ||
|
|
ef24a3451a | ||
|
|
79065a5cbf | ||
|
|
52df214fbc | ||
|
|
8a612926f9 | ||
|
|
75e38d9e4a | ||
|
|
bc1dd9cd12 | ||
|
|
53c1742f9c | ||
|
|
22c7b11765 | ||
|
|
39606f0884 | ||
|
|
eef6665ce0 | ||
|
|
74d50d3f9b | ||
|
|
d18c10b3a6 | ||
|
|
22ebffe8a5 | ||
|
|
c50273dd7f | ||
|
|
d768a6d8e1 | ||
|
|
435f306948 | ||
|
|
0c2d56f429 | ||
|
|
cb7f1f5a6d | ||
|
|
5792195f5b | ||
|
|
4b13aafeae | ||
|
|
780a318aa8 | ||
|
|
3171c95035 | ||
|
|
1315ef4454 | ||
|
|
9081fedba3 | ||
|
|
8741e85d8f | ||
|
|
c9eccd2afa | ||
|
|
2fdfab56b3 | ||
|
|
9ecfbe1699 | ||
|
|
a1953443cb | ||
|
|
7c2c864e59 | ||
|
|
af2891ff92 | ||
|
|
5edf335c31 | ||
|
|
6cd06f44ec | ||
|
|
6736ce6077 | ||
|
|
323e90ef8e | ||
|
|
a8889aef71 | ||
|
|
e86980848e | ||
|
|
4f016e94fa | ||
|
|
1c1d84b8b1 | ||
|
|
1f2905df82 | ||
|
|
1a8df0e138 | ||
|
|
5f1c68f2e5 | ||
|
|
8da112a969 | ||
|
|
8e191f103b | ||
|
|
f7d618687f | ||
|
|
3cfb09f809 | ||
|
|
273da62160 | ||
|
|
f3364024d8 | ||
|
|
ae89a1d7fe | ||
|
|
e1953b24be | ||
|
|
4f88a310b4 | ||
|
|
fb7c6b5f8d | ||
|
|
b3bb59a278 | ||
|
|
5f2abde651 | ||
|
|
351535fc49 | ||
|
|
acd853b24e | ||
|
|
7a935cc3fc | ||
|
|
60a94e7ae3 | ||
|
|
49d59d5dcf | ||
|
|
0476165bdf | ||
|
|
02ab706889 | ||
|
|
3f670cb3c1 | ||
|
|
7b10f02b10 | ||
|
|
e695a6b176 | ||
|
|
76dc30bff9 | ||
|
|
0b6dd01b97 | ||
|
|
c369bfaf7d | ||
|
|
1ae581bdb2 | ||
|
|
968e6b94f1 | ||
|
|
5da6879642 | ||
|
|
3294f07b4b | ||
|
|
8a844bdb78 | ||
|
|
9087541520 | ||
|
|
4f53c59bd5 | ||
|
|
a9a31ef540 | ||
|
|
eca659c842 | ||
|
|
ded467b386 | ||
|
|
929777986c | ||
|
|
b5ada5b325 | ||
|
|
5fd1231888 | ||
|
|
ef09bc6228 |
@@ -1,14 +0,0 @@
|
|||||||
**/node_modules
|
|
||||||
**/.git
|
|
||||||
**/.svelte-kit
|
|
||||||
**/dist
|
|
||||||
**/docs
|
|
||||||
|
|
||||||
**/.github
|
|
||||||
**/.husky
|
|
||||||
**/.vscode
|
|
||||||
|
|
||||||
Dockerfile
|
|
||||||
.dockerignore
|
|
||||||
docker-compose.yml
|
|
||||||
README.md
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
MERMAID_DOMAIN=''
|
|
||||||
MERMAID_BASE_PATH=''
|
|
||||||
MERMAID_DOCS_URL='https://mermaid.js.org'
|
|
||||||
MERMAID_ANALYTICS_URL=''
|
|
||||||
MERMAID_RENDERER_URL='https://mermaid.ink'
|
|
||||||
MERMAID_KROKI_RENDERER_URL='https://kroki.io'
|
|
||||||
MERMAID_IS_ENABLED_MERMAID_CHART_LINKS='true'
|
|
||||||
|
|
||||||
# cp .env .env.local to make local changes
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# .git-blame-ignore-revs
|
|
||||||
# Prettier Pass
|
|
||||||
6fde9e22a3ba0b80879a1909fb233367ef20b738
|
|
||||||
# Tabs -> Spaces
|
|
||||||
0ac606b8fbf6f94215cbda1d4511e2dcd30e4655
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
name: Docker Build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
docker:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Login to Gitea Container Registry
|
|
||||||
if: github.event_name == 'push'
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: gitea.forkless.com
|
|
||||||
username: ${{ secrets.GITEAUSER }}
|
|
||||||
password: ${{ secrets.GITEATOKEN }}
|
|
||||||
|
|
||||||
- name: Docker metadata
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v5
|
|
||||||
with:
|
|
||||||
images: gitea.forkless.com/forkless/mermaid-live-editor
|
|
||||||
tags: |
|
|
||||||
type=raw,value=latest,enable=${{ github.ref_name == 'master' }}
|
|
||||||
type=raw,value=nightly,enable=${{ github.ref_name == 'develop' }}
|
|
||||||
type=sha,prefix={{branch}}-
|
|
||||||
|
|
||||||
- name: Build and push
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
target: mermaid
|
|
||||||
push: ${{ github.event_name == 'push' }}
|
|
||||||
pull: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
build-args: |
|
|
||||||
MERMAID_RENDERER_URL=${{ vars.MERMAID_RENDERER_URL || 'https://mermaid.ink' }}
|
|
||||||
MERMAID_KROKI_RENDERER_URL=${{ vars.MERMAID_KROKI_RENDERER_URL || 'https://kroki.io' }}
|
|
||||||
MERMAID_IS_ENABLED_MERMAID_CHART_LINKS=false
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
github: [sidharthv96, knsv]
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: bug
|
|
||||||
assignees: ''
|
|
||||||
---
|
|
||||||
|
|
||||||
**Describe the bug**
|
|
||||||
A clear and concise description of what the bug is.
|
|
||||||
|
|
||||||
**To Reproduce**
|
|
||||||
Link to Live Editor:
|
|
||||||
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.
|
|
||||||
|
|
||||||
**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.
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea for this project
|
|
||||||
title: ''
|
|
||||||
labels: 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.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
name: 'Mermaid CodeQL config'
|
|
||||||
|
|
||||||
paths:
|
|
||||||
- src
|
|
||||||
paths-ignore:
|
|
||||||
- node_modules
|
|
||||||
- '**/*.spec.js'
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
version: 2
|
|
||||||
updates:
|
|
||||||
- package-ecosystem: docker
|
|
||||||
directory: /
|
|
||||||
target-branch: develop
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
day: friday
|
|
||||||
time: '07:00'
|
|
||||||
- package-ecosystem: github-actions
|
|
||||||
directory: /
|
|
||||||
target-branch: develop
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
day: friday
|
|
||||||
time: '07:00'
|
|
||||||
- package-ecosystem: npm
|
|
||||||
directory: /
|
|
||||||
target-branch: develop
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
day: friday
|
|
||||||
time: '07:00'
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
## :bookmark_tabs: Summary
|
|
||||||
|
|
||||||
Brief description about the content of your PR:
|
|
||||||
|
|
||||||
Resolves #<your issue id here>
|
|
||||||
|
|
||||||
## :straight_ruler: Design Decisions
|
|
||||||
|
|
||||||
Describe the way your implementation works or what design decisions you made if applicable:
|
|
||||||
|
|
||||||
### :clipboard: Tasks
|
|
||||||
|
|
||||||
Make sure you
|
|
||||||
|
|
||||||
- [ ] :book: have read the [contribution guidelines](https://mermaid.js.org/community/contributing.html)
|
|
||||||
- [ ] :computer: have added unit/e2e tests (if appropriate)
|
|
||||||
- [ ] :bookmark: targeted `develop` branch
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
name: Close broken link issues
|
|
||||||
|
|
||||||
on:
|
|
||||||
issues:
|
|
||||||
types: [opened, edited]
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
issues: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
close-broken-link-issues:
|
|
||||||
if: github.event.issue.state == 'open'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Close issues with only "Broken link" in the title
|
|
||||||
uses: actions/github-script@v7
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const title = context.payload.issue.title.trim();
|
|
||||||
const isBrokenLinkOnlyTitle = /^broken link\.?$/i.test(title);
|
|
||||||
|
|
||||||
if (!isBrokenLinkOnlyTitle) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const { owner, repo } = context.repo;
|
|
||||||
const issueNumber = context.payload.issue.number;
|
|
||||||
const newIssueUrl = `https://github.com/${owner}/${repo}/issues/new?assignees=&labels=bug&template=bug_report.md&title=Broken%20link`;
|
|
||||||
|
|
||||||
const mermaidIssuesUrl = 'https://github.com/mermaid-js/mermaid/issues/new';
|
|
||||||
|
|
||||||
const commentBody = [
|
|
||||||
`@${context.payload.issue.user.login} This issue was automatically closed because the title only contains "Broken link" without additional details.`,
|
|
||||||
'',
|
|
||||||
'**Please only open issues here if something is broken in the live editor itself** (e.g. a link fails to load, the editor UI misbehaves, or a feature of mermaid.live does not work).',
|
|
||||||
'',
|
|
||||||
'**Do not open issues here for syntax errors or invalid Mermaid diagram code.** Those belong in the main Mermaid repository: [mermaid-js/mermaid](https://github.com/mermaid-js/mermaid/issues/new).',
|
|
||||||
'',
|
|
||||||
'If you are reporting a live editor bug, please include:',
|
|
||||||
'- The full URL that failed to load',
|
|
||||||
'- What you expected to happen',
|
|
||||||
'- Any error messages you saw',
|
|
||||||
'',
|
|
||||||
`You can [open a new issue in this repo](${newIssueUrl}) with this information, or report diagram syntax issues in the [Mermaid repo](${mermaidIssuesUrl}).`
|
|
||||||
].join('\n');
|
|
||||||
|
|
||||||
await github.rest.issues.createComment({
|
|
||||||
owner,
|
|
||||||
repo,
|
|
||||||
issue_number: issueNumber,
|
|
||||||
body: commentBody
|
|
||||||
});
|
|
||||||
|
|
||||||
await github.rest.issues.update({
|
|
||||||
owner,
|
|
||||||
repo,
|
|
||||||
issue_number: issueNumber,
|
|
||||||
state: 'closed',
|
|
||||||
state_reason: 'not_planned'
|
|
||||||
});
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
# For most projects, this workflow file will not need changing; you simply need
|
|
||||||
# to commit it to your repository.
|
|
||||||
#
|
|
||||||
# You may wish to alter this file to override the set of languages analyzed,
|
|
||||||
# or to provide custom queries or build logic.
|
|
||||||
#
|
|
||||||
# ******** NOTE ********
|
|
||||||
# We have attempted to detect the languages in your repository. Please check
|
|
||||||
# the `language` matrix defined below to confirm you have the correct set of
|
|
||||||
# supported CodeQL languages.
|
|
||||||
#
|
|
||||||
name: 'CodeQL'
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [master]
|
|
||||||
pull_request:
|
|
||||||
# The branches below must be a subset of the branches above
|
|
||||||
branches: [master]
|
|
||||||
schedule:
|
|
||||||
- cron: '36 1 * * 2'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
analyze:
|
|
||||||
name: Analyze
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
language: ['javascript']
|
|
||||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
|
||||||
# Learn more:
|
|
||||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v2
|
|
||||||
with:
|
|
||||||
config-file: ./.github/codeql/config.yml
|
|
||||||
languages: ${{ matrix.language }}
|
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
||||||
# By default, queries listed here will override any specified in a config file.
|
|
||||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
||||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
|
||||||
# - name: Autobuild
|
|
||||||
# uses: github/codeql-action/autobuild@v1
|
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
|
||||||
# 📚 https://git.io/JvXDl
|
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
||||||
# and modify them (or add more) to build your code if your project
|
|
||||||
# uses a compiled language
|
|
||||||
|
|
||||||
#- run: |
|
|
||||||
# make bootstrap
|
|
||||||
# make release
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
|
||||||
uses: github/codeql-action/analyze@v2
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
name: Deploy Live Editor
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install pnpm
|
|
||||||
uses: pnpm/action-setup@v4
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version-file: '.node-version'
|
|
||||||
cache: pnpm
|
|
||||||
|
|
||||||
- name: Setup Pages
|
|
||||||
uses: actions/configure-pages@v5
|
|
||||||
with:
|
|
||||||
static_site_generator: sveltekit
|
|
||||||
|
|
||||||
- name: Build & Deploy
|
|
||||||
env:
|
|
||||||
MERMAID_DOMAIN: 'mermaid.live'
|
|
||||||
MERMAID_ANALYTICS_URL: 'https://p.mermaid.live'
|
|
||||||
MERMAID_RENDERER_URL: 'https://mermaid.ink'
|
|
||||||
MERMAID_KROKI_RENDERER_URL: 'https://kroki.io'
|
|
||||||
MERMAID_IS_ENABLED_MERMAID_CHART_LINKS: 'true'
|
|
||||||
run: |
|
|
||||||
export DEPLOY=true
|
|
||||||
[ "$GITHUB_EVENT_NAME" != "pull_request" ] && rm -rf docs/_app/
|
|
||||||
pnpm install
|
|
||||||
pnpm build
|
|
||||||
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-pages-artifact@v3
|
|
||||||
with:
|
|
||||||
path: ./docs
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
if: ${{ github.ref == 'refs/heads/master' }}
|
|
||||||
needs: build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
environment:
|
|
||||||
name: github-pages
|
|
||||||
url: ${{ steps.deployment.outputs.page_url }}
|
|
||||||
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
|
|
||||||
permissions:
|
|
||||||
pages: write # to deploy to Pages
|
|
||||||
id-token: write # to verify the deployment originates from an appropriate source
|
|
||||||
steps:
|
|
||||||
- name: Deploy to GitHub Pages
|
|
||||||
id: deployment
|
|
||||||
uses: actions/deploy-pages@v4
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
name: Docker
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
# Publish `master` as Docker `latest` image.
|
|
||||||
- master
|
|
||||||
# Publish `develop` as Docker `nightly` image.
|
|
||||||
- develop
|
|
||||||
|
|
||||||
# Run tests for all PRs to master and develop.
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
docker:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
attestations: write
|
|
||||||
id-token: write
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: docker/setup-qemu-action@v3
|
|
||||||
- uses: docker/setup-buildx-action@v3
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
if: github.event_name == 'push'
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.repository_owner }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- uses: docker/metadata-action@v5
|
|
||||||
id: meta
|
|
||||||
with:
|
|
||||||
images: ghcr.io/${{ github.repository }}
|
|
||||||
tags: |
|
|
||||||
type=raw,value=latest,enable=${{ github.ref_name == 'master' }}
|
|
||||||
type=raw,value=nightly,enable=${{ github.ref_name == 'develop' }}
|
|
||||||
- uses: docker/build-push-action@v5
|
|
||||||
id: build
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
target: mermaid
|
|
||||||
push: ${{ github.event_name == 'push' }}
|
|
||||||
platforms: linux/amd64,linux/arm64
|
|
||||||
pull: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
- name: Generate Build Attestation
|
|
||||||
uses: actions/attest-build-provenance@v2
|
|
||||||
with:
|
|
||||||
subject-name: ghcr.io/${{ github.repository }}
|
|
||||||
subject-digest: ${{ steps.build.outputs.digest }}
|
|
||||||
push-to-registry: true
|
|
||||||
if: github.event_name == 'push'
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
name: Create release pull request
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- develop
|
|
||||||
jobs:
|
|
||||||
productionPromotion:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
ref: master
|
|
||||||
- name: Reset promotion branch
|
|
||||||
run: |
|
|
||||||
git fetch origin develop:develop
|
|
||||||
git reset --hard develop
|
|
||||||
- name: Create Pull Request
|
|
||||||
uses: peter-evans/create-pull-request@v5
|
|
||||||
with:
|
|
||||||
branch: release-promotion
|
|
||||||
title: Release live editor
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
name: Tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
merge_group:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
playwright:
|
|
||||||
name: 'Playwright Tests'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container:
|
|
||||||
image: mcr.microsoft.com/playwright:v1.60.0-jammy
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- uses: actions/cache@v4
|
|
||||||
id: pnpm-and-build-cache
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
build
|
|
||||||
node_modules
|
|
||||||
key: ${{ runner.os }}-node_modules-build-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-node_modules-build-
|
|
||||||
|
|
||||||
- name: Install pnpm
|
|
||||||
uses: pnpm/action-setup@v4
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version-file: '.node-version'
|
|
||||||
cache: 'pnpm'
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: pnpm build
|
|
||||||
|
|
||||||
- name: Run Playwright tests
|
|
||||||
run: pnpm test:e2e
|
|
||||||
env:
|
|
||||||
CI: true
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
|
||||||
if: ${{ !cancelled() }}
|
|
||||||
with:
|
|
||||||
name: test-results
|
|
||||||
path: test-results/
|
|
||||||
retention-days: 7
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
name: Unit Tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
merge_group:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
unit-tests:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
id: pnpm-and-build-cache
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
build
|
|
||||||
node_modules
|
|
||||||
key: ${{ runner.os }}-node_modules-build-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-node_modules-build-
|
|
||||||
|
|
||||||
- name: Install pnpm
|
|
||||||
uses: pnpm/action-setup@v4
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version-file: '.node-version'
|
|
||||||
cache: 'pnpm'
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pnpm install
|
|
||||||
|
|
||||||
- name: Lint
|
|
||||||
run: pnpm lint
|
|
||||||
|
|
||||||
- name: Type check
|
|
||||||
run: pnpm check
|
|
||||||
|
|
||||||
- name: Run unit tests
|
|
||||||
run: pnpm test:unit
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
name: Update Browserslist database
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '0 2 1,15 * *'
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
update-browserslist-database:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Configure git
|
|
||||||
run: |
|
|
||||||
git config --global user.email "action@github.com"
|
|
||||||
git config --global user.name "GitHub Action"
|
|
||||||
- name: Update Browserslist database and create PR if applies
|
|
||||||
uses: c2corg/browserslist-update-action@v2
|
|
||||||
with:
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
branch: browserslist-update
|
|
||||||
base_branch: develop
|
|
||||||
commit_message: 'build: update Browserslist db'
|
|
||||||
title: 'build: update Browserslist db'
|
|
||||||
body: Auto-generated by [browserslist-update-action](https://github.com/c2corg/browserslist-update-action/)
|
|
||||||
labels: 'chores, github action'
|
|
||||||
-18
@@ -1,18 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
.cache/
|
|
||||||
.env.local
|
|
||||||
.npmrc
|
|
||||||
/.svelte-kit
|
|
||||||
/build
|
|
||||||
/coverage
|
|
||||||
/docs
|
|
||||||
/functions
|
|
||||||
/node_modules
|
|
||||||
/snapshots.js
|
|
||||||
|
|
||||||
# Playwright
|
|
||||||
/test-results/
|
|
||||||
/playwright-report/
|
|
||||||
/blob-report/
|
|
||||||
/playwright/.cache/
|
|
||||||
.playwright-mcp/
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
_
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
. "$(dirname "$0")/_/husky.sh"
|
|
||||||
|
|
||||||
pnpm pre-commit
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
24.16.0
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
docs/**
|
|
||||||
.svelte-kit/**
|
|
||||||
static/**
|
|
||||||
build/**
|
|
||||||
node_modules/**
|
|
||||||
coverage/**
|
|
||||||
__snapshots__/**
|
|
||||||
snapshots.js
|
|
||||||
pnpm-lock.yaml
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"singleQuote": true,
|
|
||||||
"svelteSortOrder": "options-scripts-markup-styles",
|
|
||||||
"bracketSameLine": true,
|
|
||||||
"trailingComma": "none",
|
|
||||||
"printWidth": 100,
|
|
||||||
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
|
|
||||||
"tailwindStylesheet": "./src/app.css"
|
|
||||||
}
|
|
||||||
Vendored
-15
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
// Use IntelliSense to learn about possible attributes.
|
|
||||||
// Hover to view descriptions of existing attributes.
|
|
||||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"type": "pwa-chrome",
|
|
||||||
"request": "launch",
|
|
||||||
"name": "Launch Chrome against localhost",
|
|
||||||
"url": "http://localhost:3000",
|
|
||||||
"webRoot": "${workspaceFolder}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Vendored
-10
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"servers": {
|
|
||||||
"svelte": {
|
|
||||||
"type": "stdio",
|
|
||||||
"command": "npx",
|
|
||||||
"args": ["-y", "@sveltejs/mcp"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"inputs": []
|
|
||||||
}
|
|
||||||
Vendored
-59
@@ -1,59 +0,0 @@
|
|||||||
{
|
|
||||||
"editor.formatOnSave": true,
|
|
||||||
"cSpell.blockCheckingWhenLineLengthGreaterThan": 150,
|
|
||||||
"cSpell.words": [
|
|
||||||
"appinstalled",
|
|
||||||
"asyncable",
|
|
||||||
"Browserslist",
|
|
||||||
"ckppp",
|
|
||||||
"corg",
|
|
||||||
"cssnano",
|
|
||||||
"esserializer",
|
|
||||||
"fsegurai",
|
|
||||||
"gantt",
|
|
||||||
"gitgraph",
|
|
||||||
"hugeicons",
|
|
||||||
"KROKI",
|
|
||||||
"localstorage",
|
|
||||||
"mermaidchart",
|
|
||||||
"mindmap",
|
|
||||||
"NEWYEAR",
|
|
||||||
"noopener",
|
|
||||||
"noreferrer",
|
|
||||||
"Pageview",
|
|
||||||
"pako",
|
|
||||||
"panmove",
|
|
||||||
"panstart",
|
|
||||||
"panzoom",
|
|
||||||
"pinchmove",
|
|
||||||
"pinchstart",
|
|
||||||
"pzoom",
|
|
||||||
"roughjs",
|
|
||||||
"sankey",
|
|
||||||
"Serde",
|
|
||||||
"serdes",
|
|
||||||
"Stackable",
|
|
||||||
"tailwindcss",
|
|
||||||
"treemap",
|
|
||||||
"uparrow",
|
|
||||||
"xychart",
|
|
||||||
"zenuml"
|
|
||||||
],
|
|
||||||
"vitest.commandLine": "pnpm test:unit",
|
|
||||||
"vitest.enable": true,
|
|
||||||
"testing.autoRun.mode": "rerun",
|
|
||||||
"svelte.enable-ts-plugin": true,
|
|
||||||
"githubPullRequests.ignoredPullRequestBranches": ["develop"],
|
|
||||||
"[svelte]": {
|
|
||||||
"editor.defaultFormatter": "svelte.svelte-vscode"
|
|
||||||
},
|
|
||||||
"tailwindCSS.classAttributes": ["class", "className", ".*Classes"],
|
|
||||||
"tailwindCSS.experimental.classRegex": [
|
|
||||||
["([\"'`][^\"'`]*.*?[\"'`])", "[\"'`]([^\"'`]*).*?[\"'`]"]
|
|
||||||
],
|
|
||||||
"tailwindCSS.emmetCompletions": true,
|
|
||||||
"editor.codeActionsOnSave": {
|
|
||||||
"source.fixAll.eslint": "explicit",
|
|
||||||
"source.organizeImports": "explicit"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment include:
|
|
||||||
|
|
||||||
- Using welcoming and inclusive language
|
|
||||||
- Being respectful of differing viewpoints and experiences
|
|
||||||
- Gracefully accepting constructive criticism
|
|
||||||
- Focusing on what is best for the community
|
|
||||||
- Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
- The use of sexualized language or imagery and unwelcome sexual attention or advances
|
|
||||||
- Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
- Public or private harassment
|
|
||||||
- Publishing others' private information, such as a physical or electronic address, without explicit permission
|
|
||||||
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the maintainers. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
||||||
-37
@@ -1,37 +0,0 @@
|
|||||||
FROM docker.io/library/node:24.16.0-alpine3.22 AS mermaid-live-editor-dependencies
|
|
||||||
|
|
||||||
RUN apk --no-cache add build-base git python3 && \
|
|
||||||
rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
RUN corepack enable pnpm
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
COPY ./package.json .
|
|
||||||
COPY ./pnpm-lock.yaml .
|
|
||||||
|
|
||||||
RUN pnpm install
|
|
||||||
|
|
||||||
FROM mermaid-live-editor-dependencies AS mermaid-live-editor-builder
|
|
||||||
|
|
||||||
ARG MERMAID_RENDERER_URL
|
|
||||||
ARG MERMAID_KROKI_RENDERER_URL
|
|
||||||
ARG MERMAID_ANALYTICS_URL
|
|
||||||
ARG MERMAID_DOMAIN
|
|
||||||
ARG MERMAID_IS_ENABLED_MERMAID_CHART_LINKS
|
|
||||||
ARG MERMAID_PRIVACY_POLICY_URL
|
|
||||||
ARG MERMAID_HIDE_PRIVACY_POLICY
|
|
||||||
ARG MERMAID_BASE_PATH
|
|
||||||
|
|
||||||
COPY . ./
|
|
||||||
|
|
||||||
RUN pnpm build
|
|
||||||
|
|
||||||
FROM mermaid-live-editor-builder AS mermaid-dev
|
|
||||||
|
|
||||||
ENTRYPOINT ["pnpm", "dev"]
|
|
||||||
|
|
||||||
FROM nginx:1.28-alpine3.21 AS mermaid
|
|
||||||
|
|
||||||
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
|
|
||||||
COPY --from=mermaid-live-editor-builder /app/docs /usr/share/nginx/html
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2020 - 2023 Knut Sveidqvist
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
[](https://discord.gg/sKeNQX4Wtj)
|
|
||||||
[](https://app.netlify.com/sites/mermaidjs/deploys)
|
|
||||||
|
|
||||||
# Mermaid Live Editor
|
|
||||||
|
|
||||||
Edit, preview and share mermaid charts/diagrams.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- Edit and preview flowcharts, sequence diagrams, gantt diagrams in real time.
|
|
||||||
- Save the result as a svg
|
|
||||||
- Get a link to a viewer of the diagram so that you can share it with others.
|
|
||||||
- Get a link to edit the diagram so that someone else can tweak it and send a new link back
|
|
||||||
|
|
||||||
## Live demo
|
|
||||||
|
|
||||||
You can try out a [live version](https://mermaid.live/).
|
|
||||||
|
|
||||||
# Contributors are welcome!
|
|
||||||
|
|
||||||
If you want to speed up the progress for mermaid-live-editor, join the Discord channel and contact knsv.
|
|
||||||
|
|
||||||
## Docker
|
|
||||||
|
|
||||||
### Run published image
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker run --platform linux/amd64 --publish 8000:8080 ghcr.io/mermaid-js/mermaid-live-editor
|
|
||||||
```
|
|
||||||
|
|
||||||
The published docker image is built using our default environment variables. You cannot override them when running the image. If you need to customize them, you will need to build the image yourself.
|
|
||||||
|
|
||||||
### To configure renderer URL
|
|
||||||
|
|
||||||
When building set the MERMAID_RENDERER_URL build argument to the rendering
|
|
||||||
service.
|
|
||||||
Example:
|
|
||||||
Default is`https://mermaid.ink`.
|
|
||||||
Set to empty string to disable PNG and SVG links under Actions
|
|
||||||
|
|
||||||
### To configure Kroki Instance URL
|
|
||||||
|
|
||||||
When building set the MERMAID_KROKI_RENDERER_URL build argument to your Kroki
|
|
||||||
instance.
|
|
||||||
Default is `https://kroki.io`
|
|
||||||
Set to empty string to disable Kroki link under Actions
|
|
||||||
|
|
||||||
### To configure Analytics
|
|
||||||
|
|
||||||
When building set the MERMAID_ANALYTICS_URL build argument to your plausible instance, and MERMAID_DOMAIN to your domain.
|
|
||||||
|
|
||||||
Default is empty, disabling analytics.
|
|
||||||
|
|
||||||
### To enable Mermaid Chart links and promotion
|
|
||||||
|
|
||||||
When building set the MERMAID_IS_ENABLED_MERMAID_CHART_LINKS build argument to `true`
|
|
||||||
|
|
||||||
Default is empty, disabling button to save to Mermaid Chart and promotional banner.
|
|
||||||
|
|
||||||
### To update the Security modal
|
|
||||||
|
|
||||||
The modal shown on clicking the security link assumes analytics, renderer, Kroki
|
|
||||||
and Mermaid chart are enabled. You can update it by modifying `Privacy.svelte`
|
|
||||||
if you wish.
|
|
||||||
|
|
||||||
### Development
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose up --build
|
|
||||||
```
|
|
||||||
|
|
||||||
Then open http://localhost:3000
|
|
||||||
|
|
||||||
### Building and running images locally
|
|
||||||
|
|
||||||
#### Build
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker build -t mermaid-js/mermaid-live-editor .
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Run
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker run --detach --name mermaid-live-editor --publish 8080:8080 mermaid-js/mermaid-live-editor
|
|
||||||
```
|
|
||||||
|
|
||||||
Visit: <http://localhost:8080>
|
|
||||||
|
|
||||||
#### Stop
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker stop mermaid-live-editor
|
|
||||||
```
|
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
Below link will help you making a copy of the repository in your local system.
|
|
||||||
|
|
||||||
https://docs.github.com/en/get-started/quickstart/fork-a-repo
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
- [Node.js](https://nodejs.org/en/) current LTS version
|
|
||||||
- [pnpm](https://pnpm.io/) package manager. Install with `corepack enable pnpm`
|
|
||||||
|
|
||||||
## Development
|
|
||||||
|
|
||||||
```sh
|
|
||||||
pnpm install
|
|
||||||
pnpm dev -- --open
|
|
||||||
```
|
|
||||||
|
|
||||||
This app is created with Svelte Kit.
|
|
||||||
|
|
||||||
## Release
|
|
||||||
|
|
||||||
When a PR is created targeting master, it will be built and deployed by Netlify.
|
|
||||||
The URL will be indicated in a Comment in the PR.
|
|
||||||
|
|
||||||
Once the PR is merged, it will automatically be released.
|
|
||||||
-13
@@ -1,13 +0,0 @@
|
|||||||
# Security Policy
|
|
||||||
|
|
||||||
## Supported Versions
|
|
||||||
|
|
||||||
Live editor only has a single version, which will be maintained.
|
|
||||||
|
|
||||||
| Version | Supported |
|
|
||||||
| ------- | ------------------ |
|
|
||||||
| latest | :white_check_mark: |
|
|
||||||
|
|
||||||
## Reporting a Vulnerability
|
|
||||||
|
|
||||||
To report a vulnerability, please e-mail security@mermaid.live with a description of the issue, the steps you took to create the issue, affected versions, and if known, mitigations for the issue.
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
#menu-toggle.svelte-qevfgi:checked+#menu.svelte-qevfgi{display:block}header.svelte-qevfgi.svelte-qevfgi{z-index:10000}.icon.svelte-1qkpo3v{transition-duration:.5s}.isOpen.svelte-1qkpo3v{transform:rotate(90deg)}#resizeHandler.svelte-ub8fux{cursor:col-resize;padding:0 2px}#resizeHandler.svelte-ub8fux:after{background-color:#ccc;content:"";height:100%;margin-left:-1px;position:absolute;top:0;width:2px}#resizeHandler.svelte-ub8fux:hover:after{background-color:#818cf8;margin-left:-2px;width:4px}@media screen and (max-width:768px){#resizeHandler.svelte-ub8fux{display:none}}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#menu-toggle.svelte-1163kmr:checked+#menu.svelte-1163kmr{display:block}.navbar.svelte-1163kmr.svelte-1163kmr{z-index:10000}.icon.svelte-1qkpo3v{transition-duration:.5s}.isOpen.svelte-1qkpo3v{transform:rotate(90deg)}#resizeHandler.svelte-1fge7im{cursor:col-resize;padding:0 2px}#resizeHandler.svelte-1fge7im:after{background-color:hsla(var(--b3));content:"";height:100%;margin-left:-1px;position:absolute;top:0;transition-duration:.2s;width:2px}#resizeHandler.svelte-1fge7im:hover:after{background-color:hsla(var(--p));margin-left:-2px;width:4px}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#menu-toggle.svelte-qevfgi:checked+#menu.svelte-qevfgi{display:block}header.svelte-qevfgi.svelte-qevfgi{z-index:10000}.icon.svelte-1qkpo3v{transition-duration:.5s}.isOpen.svelte-1qkpo3v{transform:rotate(90deg)}#resizeHandler.svelte-ub8fux{cursor:col-resize;padding:0 2px}#resizeHandler.svelte-ub8fux:after{background-color:#ccc;content:"";height:100%;margin-left:-1px;position:absolute;top:0;width:2px}#resizeHandler.svelte-ub8fux:hover:after{background-color:#818cf8;margin-left:-2px;width:4px}@media screen and (max-width:768px){#resizeHandler.svelte-ub8fux{display:none}}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#svelte-announcer.svelte-1pdgbjn{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:1px}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#svelte-announcer.svelte-1pdgbjn{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:1px}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#view.svelte-5ndy2s{border:1px #8b0000;flex:1}.error.svelte-5ndy2s,.outOfSync.svelte-5ndy2s{opacity:.5}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#view.svelte-7vvt6c{border:1px #8b0000;flex:1}.error.svelte-7vvt6c,.outOfSync.svelte-7vvt6c{opacity:.5}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#view.svelte-5ndy2s{border:1px darkred;flex:1}.error.svelte-5ndy2s,.outOfSync.svelte-5ndy2s{opacity:.5}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(t){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{},i=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),i.forEach((function(n){e(t,n,a[n])}))}return t}var n={trackingId:null,debug:!1,anonymizeIp:!1,customDimensions:{},resetCustomDimensionsOnPage:[],setCustomDimensionsToPage:!0},a={};function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=!1,u=r(e),d=u.instanceName,p=u.instancePrefix;return{name:"google-analytics",config:t({},n,e),initialize:function(e){var n=e.config,i=e.instance;if(!n.trackingId)throw new Error("No GA trackingId defined");var r,c,s,u,g,f,v,m=n.customScriptSrc||"https://www.google-analytics.com/analytics.js";if(o(m)&&(r=window,c=document,s="script",u=m,g="ga",r.GoogleAnalyticsObject=g,r.ga=r.ga||function(){(r.ga.q=r.ga.q||[]).push(arguments)},r.ga.l=1*new Date,f=c.createElement(s),v=c.getElementsByTagName(s)[0],f.async=1,f.src=u,v.parentNode.insertBefore(f,v)),!a[d]){var y=t({cookieDomain:n.domain||"auto",siteSpeedSampleRate:n.siteSpeedSampleRate||1,sampleRate:n.sampleRate||100,allowLinker:!0},n.cookieConfig);if(d&&(y.name=d),ga("create",n.trackingId,y),n.debug&&(ga("".concat(p,"set"),"sendHitTask",null),window.ga_debug={trace:!0}),n.anonymizeIp&&ga("".concat(p,"set"),"anonymizeIp",!0),n.tasks){["customTask","previewTask","checkProtocolTask","validationTask","checkStorageTask","historyImportTask","samplerTask","buildHitTask","sendHitTask","timingTask","displayFeaturesTask"].forEach((function(e){if(n.tasks.hasOwnProperty(e)){var t=n.tasks[e];"function"==typeof t?ga(n.tasks[e]):null===t&&ga("".concat(p,"set"),e,t)}}))}var k=(i.user()||{}).traits||{};if(Object.keys(k).length){var h=l(k,n);ga("".concat(p,"set"),h)}a[d]=!0}},page:function(e){var n=e.payload,a=e.config,r=e.instance,c=n.properties,l=a.resetCustomDimensionsOnPage,u=a.customDimensions,f=r.getState("context.campaign");if(!o()){if(l&&l.length){var d=l.reduce((function(e,t){return u[t]&&(e[u[t]]=null),e}),{});Object.keys(d).length&&ga("".concat(p,"set"),d)}var v=c.path||document.location.pathname,m={page:v,title:c.title,location:c.url},y={page:v,title:c.title};c.referrer!==document.referrer&&(y.referrer=c.referrer);var k=t({},m,s(f),g(c,a,p));ga("".concat(p,"set"),y),i&&delete k.location,ga("".concat(p,"send"),"pageview",k),i=!0}},track:function(e){var t=e.payload,n=e.config,a=e.instance,i=t.properties,o=t.event,r=i.label,s=i.value;c({hitType:"event",event:o,label:r,category:i.category||"All",value:s,nonInteraction:i.nonInteraction,campaign:a.getState("context.campaign")},n,t)},identify:function(e){var t=e.payload,n=e.config;f(t.userId,t.traits,n)},loaded:function(){return!!window.gaplugins}}}function o(e){return e?!function(e){var t=document.querySelectorAll("script[src]");return!!Object.keys(t).filter((function(n){return(t[n].src||"")===e})).length}(e):"undefined"==typeof ga}function r(e){var t=e.instanceName;return{instancePrefix:t?"".concat(t,"."):"",instanceName:t}}function c(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;if(!o()){var i=r(n),c=i.instancePrefix,l={hitType:e.hitType||"event",eventAction:e.event,eventLabel:e.label,eventCategory:e.category||"All",nonInteraction:void 0!==e.nonInteraction&&!!e.nonInteraction};e.value&&(l.eventValue=d(e.value));var u=s(e),f=g(a.properties,n,c),p=t({},l,u,f);return ga("".concat(c,"send"),"event",p),p}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=e.name,a=e.source,i=e.medium,o=e.content,r=e.keyword;return n&&(t.campaignName=n),a&&(t.campaignSource=a),i&&(t.campaignMedium=i),o&&(t.campaignContent=o),r&&(t.campaignKeyword=r),t}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.customDimensions;return Object.keys(n).reduce((function(t,a){var i=n[a],o=u(e,a)||e[a];return"boolean"==typeof o&&(o=o.toString()),o||0===o?(t[i]=o,t):t}),{})}function u(e,t,n,a,i){for(t=t.split?t.split("."):t,a=0;a<t.length;a++)e=e?e[t[a]]:i;return e===i?n:e}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,a=l(e,t);return Object.keys(a).length?t.setCustomDimensionsToPage?(ga("".concat(n,"set"),a),{}):a:{}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!o()){var a=r(n),i=a.instancePrefix;if(e&&ga("".concat(i,"set"),"userId",e),Object.keys(t).length){var c=l(t,n);ga("".concat(i,"set"),c)}}}function d(e){return!e||e<0?0:Math.round(e)}var p=i,v=i,m=void 0,y=void 0,k=c,h=f;export default p;export{h as identify,v as init,m as initialize,y as page,k as track};
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
import{C as s}from"./vendor-1c68e392.js";const a=s({loading:!1}),o=async(s,o)=>{a.set({loading:!0,message:s});const e=await o;return a.set({loading:!1}),e};export{o as i,a as l};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import{C as a}from"./vendor-267efa65.js";const s=a({loading:!1}),o=async(a,o)=>{s.set({loading:!0,message:a});const e=await o;return s.set({loading:!1}),e};export{o as i,s as l};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import{C as s}from"./vendor-8d42b2c7.js";const a=s({loading:!1}),o=async(s,o)=>{a.set({loading:!0,message:s});const n=await o;return a.set({loading:!1}),n};export{o as i,a as l};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import{C as s}from"./vendor-105bcc23.js";const a=s({loading:!1}),o=async(s,o)=>{a.set({loading:!0,message:s});const n=await o;return a.set({loading:!1}),n};export{o as i,a as l};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import{C as s}from"./vendor-559fd8dc.js";const a=s({loading:!1}),o=async(s,o)=>{a.set({loading:!0,message:s});const n=await o;return a.set({loading:!1}),n};export{o as i,a as l};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import{C as a}from"./vendor-5a84ff68.js";const s=a({loading:!1}),o=async(a,o)=>{s.set({loading:!0,message:a});const n=await o;return s.set({loading:!1}),n};export{o as i,s as l};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import{C as a}from"./vendor-a49b420c.js";const s=a({loading:!1}),o=async(a,o)=>{s.set({loading:!0,message:a});const n=await o;return s.set({loading:!1}),n};export{o as i,s as l};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
let e="";function a(s){e=s.base,s.assets}export{e as b,a as s};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
let a="",e="";function t(s){a=s.base,e=s.assets||a}export{e as a,a as b,t as s};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
let s="",a="/.";function e(e){({base:s,assets:a}=e)}export{s as b,e as s};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
let e="";function a(s){e=s.base,s.assets}export{e as b,a as s};
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user