Compare commits

..
Author SHA1 Message Date
Yash-Singh1 4e5e2518fb feat: sample diagram and docs for gitgraph 2022-04-16 18:13:10 -07:00
28 changed files with 750 additions and 533 deletions
-1
View File
@@ -11,7 +11,6 @@ module.exports = {
ignorePatterns: [
'docs/*',
'*.cjs',
'*.js',
'*.md',
'snapshots.js',
'svelte.config.js',
+2 -2
View File
@@ -39,7 +39,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v1
with:
config-file: ./.github/codeql/config.yml
languages: ${{ matrix.language }}
@@ -65,4 +65,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v1
+3 -6
View File
@@ -9,6 +9,8 @@ on:
jobs:
cypress-run:
runs-on: ubuntu-latest
# Update after https://github.com/cypress-io/cypress-docker-images/issues/487
container: cypress/browsers:node14.16.0-chrome90-ff88
steps:
- name: Checkout
@@ -25,11 +27,6 @@ jobs:
restore-keys: |
${{ runner.os }}-node_modules-build-
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'yarn'
- name: Build & Lint
run: |
yarn install
@@ -39,7 +36,7 @@ jobs:
# Install NPM dependencies, cache them correctly
# and run all Cypress tests
- name: Cypress run
uses: cypress-io/github-action@v3
uses: cypress-io/github-action@v2
with:
start: yarn preview
wait-on: 'http://localhost:3000'
+1
View File
@@ -21,6 +21,7 @@ jobs:
- name: Build & Deploy
run: |
npm i -g yarn
export DEPLOY=true
[ "$GITHUB_EVENT_NAME" != "pull_request" ] && rm -rf docs/_app/
yarn install
+1 -1
View File
@@ -8,7 +8,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
- uses: actions/stale@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
exempt-issue-labels: 'retained'
-3
View File
@@ -1,9 +1,6 @@
name: Update Browserslist
on:
workflow_dispatch:
push:
branches:
- develop
jobs:
build:
+1 -1
View File
@@ -6,7 +6,7 @@
# Stop : press ctrl + c
# or
# docker stop mermaid-live-editor
FROM node:18.3.0 as mermaid-live-editor-builder
FROM node:17.8.0 as mermaid-live-editor-builder
COPY --chown=node:node . /home
WORKDIR /home
RUN yarn install
+1 -1
View File
@@ -1,4 +1,4 @@
FROM node:18
FROM node:17
WORKDIR /app
COPY package.json .
COPY yarn.lock .
-13
View File
@@ -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.
-26
View File
@@ -1,26 +0,0 @@
import { defineConfig } from 'cypress';
import fs from 'fs';
export default defineConfig({
projectId: '2ckppp',
viewportWidth: 1440,
viewportHeight: 768,
snapshotFileName: './cypress/snapshots.js',
defaultCommandTimeout: 16000,
requestTimeout: 16000,
e2e: {
setupNodeEvents(on, config) {
on('task', {
readFileMaybe(filename) {
if (fs.existsSync(filename)) {
return fs.readFileSync(filename, 'utf8');
}
return null;
}
});
},
baseUrl: 'http://localhost:3000',
specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}'
}
});
+11
View File
@@ -0,0 +1,11 @@
{
"projectId": "2ckppp",
"$schema": "https://on.cypress.io/cypress.schema.json",
"baseUrl": "http://localhost:3000",
"pluginsFile": "./cypress/plugins/index.cjs",
"viewportWidth": 1440,
"viewportHeight": 768,
"snapshotFileName": "./cypress/snapshots.js",
"defaultCommandTimeout": 16000,
"requestTimeout": 16000
}
+31
View File
@@ -0,0 +1,31 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
/**
* @type {Cypress.PluginConfig}
*/
// eslint-disable-next-line no-unused-vars
import * as fs from 'fs';
module.exports = (on, config) => {
on('task', {
readFileMaybe(filename) {
if (fs.existsSync(filename)) {
return fs.readFileSync(filename, 'utf8');
}
return null;
}
});
};
+1 -1
View File
@@ -16,7 +16,7 @@ module.exports = {
"1": "{\"code\":\"graph TD\\n A[Party] -->|Get money| B(Go shopping!!)\\n \",\"mermaid\":\"{\\n \\\"theme\\\": \\\"forest\\\",\\n \\\"test\\\": \\\"hello world\\\"\\n}\",\"updateEditor\":false,\"autoSync\":true,\"updateDiagram\":true,\"loader\":{\"type\":\"files\",\"config\":{\"codeURL\":\"https://gist.githubusercontent.com/sidharthv96/6268a23e673a533dcb198f241fd7012a/raw/4eb03887e6a41397e80bdcdbf94017c498f8f1e2/code.mmd\",\"configURL\":\"https://gist.githubusercontent.com/sidharthv96/6268a23e673a533dcb198f241fd7012a/raw/4eb03887e6a41397e80bdcdbf94017c498f8f1e2/config.json\"}}}"
}
},
"__version": "10.0.3",
"__version": "9.5.1",
"Auto sync tests": {
"should dim diagram when code is edited": {
"1": "{\"code\":\"graph TD\\n A[Christmas] -->|Get money| B(Go shopping)\\n B --> C{Let me think}\\n C -->|One| D[Laptop]\\n C -->|Two| E[iPhone]\\n C -->|Three| F[fa:fa-car Car]\\n C --> Test\",\"mermaid\":\"{\\n \\\"theme\\\": \\\"default\\\"\\n}\",\"updateEditor\":false,\"autoSync\":false,\"updateDiagram\":false}"
+26 -28
View File
@@ -9,56 +9,56 @@
"lint:fix": "prettier --write --plugin-search-dir=. .;eslint --fix --ignore-path .gitignore .",
"format": "prettier --write --plugin-search-dir=. .",
"pre-commit": "lint-staged",
"postinstall": "husky install; cypress cache prune",
"postinstall": "husky install",
"test": "cypress run",
"cy": "cypress open"
},
"devDependencies": {
"@cypress/snapshot": "^2.1.7",
"@sveltejs/adapter-static": "1.0.0-next.34",
"@sveltejs/kit": "1.0.0-next.350",
"@sveltejs/adapter-static": "1.0.0-next.29",
"@sveltejs/kit": "1.0.0-next.310",
"@types/mermaid": "^8.2.9",
"@types/pako": "^1.0.3",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"autoprefixer": "^10.4.7",
"autoprefixer": "^10.4.4",
"chai": "^4.3.6",
"cssnano": "^5.1.11",
"cypress": "10.0.3",
"cypress-localstorage-commands": "^2.1.0",
"cssnano": "^5.1.7",
"cypress": "9.5.3",
"cypress-localstorage-commands": "^1.7.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-cypress": "^2.12.1",
"eslint-plugin-es": "^4.1.0",
"eslint-plugin-mocha": "^10.0.5",
"eslint-plugin-mocha": "^10.0.3",
"eslint-plugin-postcss-modules": "^2.0.0",
"eslint-plugin-svelte3": "^3.4.1",
"eslint-plugin-tailwindcss": "^3.5.2",
"husky": "^8.0.1",
"lint-staged": "13.0.1",
"mocha": "^10.0.0",
"eslint-plugin-tailwindcss": "^3.5.0",
"husky": "^7.0.4",
"lint-staged": "^12.3.7",
"mocha": "^9.2.2",
"node-html-parser": "^5.3.3",
"postcss": "^8.4.14",
"postcss-load-config": "^4.0.1",
"postcss": "^8.4.12",
"postcss-load-config": "^3.1.4",
"prettier": "~2.6.2",
"prettier-plugin-svelte": "^2.7.0",
"svelte": "^3.48.0",
"svelte-preprocess": "4.10.7",
"tailwindcss": "^3.1.1",
"tslib": "^2.4.0",
"typescript": "^4.7.3"
"svelte": "^3.47.0",
"svelte-preprocess": "^4.10.5",
"tailwindcss": "^3.0.21",
"tslib": "^2.3.1",
"typescript": "^4.6.3"
},
"type": "module",
"dependencies": {
"@analytics/google-analytics": "^0.5.3",
"@macfja/svelte-persistent-store": "^1.3.0",
"analytics": "^0.8.1",
"daisyui": "2.15.2",
"daisyui": "2.13.6",
"js-base64": "^3.7.2",
"mermaid": "9.1.1",
"moment": "^2.29.3",
"mermaid": "9.0.0",
"moment": "^2.29.2",
"monaco-editor": "^0.33.0",
"monaco-mermaid": "^1.0.4",
"monaco-mermaid": "^1.0.3",
"pako": "2.0.4",
"random-word-slugs": "^0.1.6"
},
@@ -69,10 +69,8 @@
]
},
"volta": {
"node": "16.15.0",
"yarn": "1.22.10"
},
"engines": {
"node": ">=16.7"
"node": "14.16.1",
"yarn": "1.22.10",
"npm": "7.11.2"
}
}
View File
+4 -4
View File
@@ -11,8 +11,8 @@
<meta
name="description"
content="Simplify documentation and avoid heavy tools. Open source Visio Alternative. Commonly used for explaining your code! Mermaid is a simple markdown-like script language for generating charts from text via javascript." />
<link rel="icon" type="image/png" href="%sveltekit.assets%/favicon.png" />
<link rel="manifest" href="%sveltekit.assets%/manifest.json" />
<link rel="icon" type="image/png" href="%svelte.assets%/favicon.png" />
<link rel="manifest" href="%svelte.assets%/manifest.json" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css" />
@@ -39,9 +39,9 @@
crossorigin="anonymous"
referrerpolicy="no-referrer"></script>
%sveltekit.head%
%svelte.head%
</head>
<body>
<div id="svelte">%sveltekit.body%</div>
<div id="svelte">%svelte.body%</div>
</body>
</html>
+9 -17
View File
@@ -160,23 +160,15 @@
<button class="action-btn flex-auto" on:click={onDownloadSVG}>
<i class="fas fa-download mr-2" /> SVG
</button>
<a target="_blank" href={iUrl}>
<button class="action-btn flex-auto">
<i class="fas fa-external-link-alt mr-2" /> PNG
</button>
</a>
<a target="_blank" href={svgUrl}>
<button class="action-btn flex-auto">
<i class="fas fa-external-link-alt mr-2" /> SVG
</button>
</a>
<a target="_blank" href={krokiUrl}>
<button class="action-btn flex-auto">
<i class="fas fa-external-link-alt mr-2" /> Kroki
</button>
</a>
<button class="action-btn flex-auto">
<a target="_blank" href={iUrl}><i class="fas fa-external-link-alt mr-2" /> PNG</a>
</button>
<button class="action-btn flex-auto">
<a target="_blank" href={svgUrl}><i class="fas fa-external-link-alt mr-2" /> SVG</a>
</button>
<button class="action-btn flex-auto">
<a target="_blank" href={krokiUrl}><i class="fas fa-external-link-alt mr-2" /> Kroki</a>
</button>
<div class="flex gap-2 items-center">
PNG size
+3 -3
View File
@@ -103,11 +103,11 @@ export const updateConfig = (config: string, updateEditor: boolean): void => {
});
};
export const setDiagramTheme = (theme: 'dark' | 'default' | 'forest'): void => {
export const toggleDarkTheme = (dark: boolean): void => {
codeStore.update((state) => {
const config = JSON.parse(state.mermaid);
if (!config.theme || ['dark', 'default', 'forest'].includes(config.theme)) {
config.theme = theme;
if (!config.theme || ['dark', 'default'].includes(config.theme)) {
config.theme = dark ? 'dark' : 'default';
}
return { ...state, mermaid: JSON.stringify(config, null, 2), updateEditor: true };
+2 -2
View File
@@ -4,7 +4,7 @@
import { onMount } from 'svelte';
import { loadingStateStore } from '$lib/util/loading';
import { setTheme, themeStore } from '$lib/util/theme';
import { setDiagramTheme } from '$lib/util/state';
import { toggleDarkTheme } from '$lib/util/state';
// This can be removed once https://github.com/sveltejs/kit/issues/1612 is fixed.
// Then move it into src and vite will bundle it automatically.
@@ -31,7 +31,7 @@
themeStore.subscribe(({ theme, isDark }) => {
if (theme) {
document.getElementsByTagName('html')[0].setAttribute('data-theme', theme);
setDiagramTheme(isDark ? (theme === 'forest' ? 'forest' : 'dark') : 'default');
toggleDarkTheme(isDark);
}
});
});
-3
View File
@@ -23,9 +23,6 @@ const config = {
vite: {
envPrefix: 'MERMAID_',
optimizeDeps: { include: ['mermaid'] }
},
prerender: {
default: true
}
}
};
+654 -421
View File
File diff suppressed because it is too large Load Diff