mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-10-31 10:54:15 +01:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
			@mermaid-j
			...
			sidv/runCo
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 84a2bf1b58 | ||
|   | ef28eb8be1 | ||
|   | c78573d9aa | ||
|   | 1aeef62db1 | ||
|   | d639d5bdc9 | 
| @@ -82,8 +82,8 @@ export function generateDefaults(mermaidConfigSchema: JSONSchemaType<MermaidConf | |||||||
|         `schema for subconfig ${key} does not have valid defaults! Errors were ${JSON.stringify( |         `schema for subconfig ${key} does not have valid defaults! Errors were ${JSON.stringify( | ||||||
|           validate.errors, |           validate.errors, | ||||||
|           undefined, |           undefined, | ||||||
|           2 |           2, | ||||||
|         )}` |         )}`, | ||||||
|       ); |       ); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @@ -95,8 +95,8 @@ export function generateDefaults(mermaidConfigSchema: JSONSchemaType<MermaidConf | |||||||
|       `Mermaid config JSON Schema does not have valid defaults! Errors were ${JSON.stringify( |       `Mermaid config JSON Schema does not have valid defaults! Errors were ${JSON.stringify( | ||||||
|         validate.errors, |         validate.errors, | ||||||
|         undefined, |         undefined, | ||||||
|         2 |         2, | ||||||
|       )}` |       )}`, | ||||||
|     ); |     ); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ const buildPackage = async (entryName: keyof typeof packageOptions) => { | |||||||
|       // mermaid.js |       // mermaid.js | ||||||
|       { ...iifeOptions }, |       { ...iifeOptions }, | ||||||
|       // mermaid.min.js |       // mermaid.min.js | ||||||
|       { ...iifeOptions, minify: true, metafile: shouldVisualize } |       { ...iifeOptions, minify: true, metafile: shouldVisualize }, | ||||||
|     ); |     ); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ import { context } from 'esbuild'; | |||||||
| import chokidar from 'chokidar'; | import chokidar from 'chokidar'; | ||||||
|  |  | ||||||
| const mermaidCtx = await context( | const mermaidCtx = await context( | ||||||
|   getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'mermaid' }) |   getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'mermaid' }), | ||||||
| ); | ); | ||||||
| const mermaidIIFECtx = await context( | const mermaidIIFECtx = await context( | ||||||
|   getBuildConfig({ |   getBuildConfig({ | ||||||
| @@ -15,7 +15,7 @@ const mermaidIIFECtx = await context( | |||||||
|     core: false, |     core: false, | ||||||
|     entryName: 'mermaid', |     entryName: 'mermaid', | ||||||
|     format: 'iife', |     format: 'iife', | ||||||
|   }) |   }), | ||||||
| ); | ); | ||||||
| const externalCtx = await context( | const externalCtx = await context( | ||||||
|   getBuildConfig({ |   getBuildConfig({ | ||||||
| @@ -23,10 +23,10 @@ const externalCtx = await context( | |||||||
|     minify: false, |     minify: false, | ||||||
|     core: false, |     core: false, | ||||||
|     entryName: 'mermaid-example-diagram', |     entryName: 'mermaid-example-diagram', | ||||||
|   }) |   }), | ||||||
| ); | ); | ||||||
| const zenumlCtx = await context( | const zenumlCtx = await context( | ||||||
|   getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'mermaid-zenuml' }) |   getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: 'mermaid-zenuml' }), | ||||||
| ); | ); | ||||||
| const contexts = [mermaidCtx, mermaidIIFECtx, externalCtx, zenumlCtx]; | const contexts = [mermaidCtx, mermaidIIFECtx, externalCtx, zenumlCtx]; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -69,7 +69,7 @@ export const getBuildConfig = (options: MermaidBuildOptions): BuildOptions => { | |||||||
|  |  | ||||||
|   if (core) { |   if (core) { | ||||||
|     const { dependencies } = JSON.parse( |     const { dependencies } = JSON.parse( | ||||||
|       readFileSync(resolve(__dirname, `../packages/${packageName}/package.json`), 'utf-8') |       readFileSync(resolve(__dirname, `../packages/${packageName}/package.json`), 'utf-8'), | ||||||
|     ); |     ); | ||||||
|     // Core build is used to generate file without bundled dependencies. |     // Core build is used to generate file without bundled dependencies. | ||||||
|     // This is used by downstream projects to bundle dependencies themselves. |     // This is used by downstream projects to bundle dependencies themselves. | ||||||
|   | |||||||
| @@ -48,6 +48,8 @@ module.exports = { | |||||||
|     'no-prototype-builtins': 'off', |     'no-prototype-builtins': 'off', | ||||||
|     'no-unused-vars': 'off', |     'no-unused-vars': 'off', | ||||||
|     'cypress/no-async-tests': 'off', |     'cypress/no-async-tests': 'off', | ||||||
|  |     '@typescript-eslint/no-unused-vars': 'warn', | ||||||
|  |     '@typescript-eslint/no-explicit-any': 'warn', | ||||||
|     '@typescript-eslint/no-floating-promises': 'error', |     '@typescript-eslint/no-floating-promises': 'error', | ||||||
|     '@typescript-eslint/no-misused-promises': 'error', |     '@typescript-eslint/no-misused-promises': 'error', | ||||||
|     '@typescript-eslint/ban-ts-comment': [ |     '@typescript-eslint/ban-ts-comment': [ | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								.github/workflows/e2e.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/e2e.yml
									
									
									
									
										vendored
									
									
								
							| @@ -30,7 +30,7 @@ jobs: | |||||||
|       # Install NPM dependencies, cache them correctly |       # Install NPM dependencies, cache them correctly | ||||||
|       # and run all Cypress tests |       # and run all Cypress tests | ||||||
|       - name: Cypress run |       - name: Cypress run | ||||||
|         uses: cypress-io/github-action@v4 |         uses: cypress-io/github-action@v6 | ||||||
|         id: cypress |         id: cypress | ||||||
|         # If CYPRESS_RECORD_KEY is set, run in parallel on all containers |         # If CYPRESS_RECORD_KEY is set, run in parallel on all containers | ||||||
|         # Otherwise (e.g. if running from fork), we run on a single container only |         # Otherwise (e.g. if running from fork), we run on a single container only | ||||||
| @@ -44,14 +44,19 @@ jobs: | |||||||
|           parallel: ${{ secrets.CYPRESS_RECORD_KEY != '' }} |           parallel: ${{ secrets.CYPRESS_RECORD_KEY != '' }} | ||||||
|         env: |         env: | ||||||
|           CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} |           CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | ||||||
|           VITEST_COVERAGE: true |           VITE_COVERAGE: true | ||||||
|  |           CYPRESS_COVERAGE: true | ||||||
|           CYPRESS_COMMIT: ${{ github.sha }} |           CYPRESS_COMMIT: ${{ github.sha }} | ||||||
|  |  | ||||||
|  |       - name: Check coverage files | ||||||
|  |         run: | | ||||||
|  |           ls -lh ./coverage | ||||||
|  |           ls -lh ./coverage/cypress | ||||||
|  |  | ||||||
|       - name: Upload Coverage to Codecov |       - name: Upload Coverage to Codecov | ||||||
|         uses: codecov/codecov-action@v3 |         uses: codecov/codecov-action@v3 | ||||||
|         # Run step only pushes to develop and pull_requests |  | ||||||
|         if: ${{ steps.cypress.conclusion == 'success' && (github.event_name == 'pull_request' || github.ref == 'refs/heads/develop')}} |  | ||||||
|         with: |         with: | ||||||
|           files: coverage/cypress/lcov.info |           files: ./coverage/cypress/lcov.info | ||||||
|           flags: e2e |           flags: e2e | ||||||
|           name: mermaid-codecov |           name: mermaid-codecov | ||||||
|           fail_ci_if_error: false |           fail_ci_if_error: false | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @@ -43,8 +43,6 @@ jobs: | |||||||
|  |  | ||||||
|       - name: Upload Coverage to Codecov |       - name: Upload Coverage to Codecov | ||||||
|         uses: codecov/codecov-action@v3 |         uses: codecov/codecov-action@v3 | ||||||
|         # Run step only pushes to develop and pull_requests |  | ||||||
|         if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/develop' }} |  | ||||||
|         with: |         with: | ||||||
|           files: ./coverage/vitest/lcov.info |           files: ./coverage/vitest/lcov.info | ||||||
|           flags: unit |           flags: unit | ||||||
|   | |||||||
| @@ -32,7 +32,7 @@ const visualizerOptions = (packageName: string, core = false): PluginOption[] => | |||||||
|         template: chartType as TemplateType, |         template: chartType as TemplateType, | ||||||
|         gzipSize: true, |         gzipSize: true, | ||||||
|         brotliSize: true, |         brotliSize: true, | ||||||
|       }) as PluginOption |       }) as PluginOption, | ||||||
|   ); |   ); | ||||||
| }; | }; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| <!DOCTYPE html> | <!doctype html> | ||||||
| <html> | <html> | ||||||
|   <head> |   <head> | ||||||
|     <meta charset="utf-8" /> |     <meta charset="utf-8" /> | ||||||
|   | |||||||
| @@ -139,6 +139,6 @@ if (typeof document !== 'undefined') { | |||||||
|         void contentLoaded().finally(markRendered); |         void contentLoaded().finally(markRendered); | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     false |     false, | ||||||
|   ); |   ); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| <!DOCTYPE html> | <!doctype html> | ||||||
| <html lang="en"> | <html lang="en"> | ||||||
|   <head> |   <head> | ||||||
|     <meta charset="utf-8" /> |     <meta charset="utf-8" /> | ||||||
|   | |||||||
							
								
								
									
										38
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								package.json
									
									
									
									
									
								
							| @@ -60,37 +60,37 @@ | |||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@applitools/eyes-cypress": "^3.33.1", |     "@applitools/eyes-cypress": "^3.37.0", | ||||||
|     "@commitlint/cli": "^17.6.1", |     "@commitlint/cli": "^17.6.1", | ||||||
|     "@commitlint/config-conventional": "^17.6.1", |     "@commitlint/config-conventional": "^17.6.1", | ||||||
|     "@cspell/eslint-plugin": "^6.31.1", |     "@cspell/eslint-plugin": "^7.0.1", | ||||||
|     "@cypress/code-coverage": "^3.10.7", |     "@cypress/code-coverage": "^3.11.0", | ||||||
|     "@rollup/plugin-typescript": "^11.1.1", |     "@rollup/plugin-typescript": "^11.1.2", | ||||||
|     "@types/cors": "^2.8.13", |     "@types/cors": "^2.8.13", | ||||||
|     "@types/eslint": "^8.37.0", |     "@types/eslint": "^8.44.2", | ||||||
|     "@types/express": "^4.17.17", |     "@types/express": "^4.17.17", | ||||||
|     "@types/js-yaml": "^4.0.5", |     "@types/js-yaml": "^4.0.5", | ||||||
|     "@types/jsdom": "^21.1.1", |     "@types/jsdom": "^21.1.1", | ||||||
|     "@types/lodash": "^4.14.194", |     "@types/lodash": "^4.14.194", | ||||||
|     "@types/mdast": "^3.0.11", |     "@types/mdast": "^3.0.11", | ||||||
|     "@types/node": "^18.16.0", |     "@types/node": "^18.16.0", | ||||||
|     "@types/prettier": "^2.7.2", |     "@types/prettier": "^3.0.0", | ||||||
|     "@types/rollup-plugin-visualizer": "^4.2.1", |     "@types/rollup-plugin-visualizer": "^4.2.1", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.59.0", |     "@typescript-eslint/eslint-plugin": "^6.4.1", | ||||||
|     "@typescript-eslint/parser": "^5.59.0", |     "@typescript-eslint/parser": "^6.4.1", | ||||||
|     "@vitest/coverage-v8": "^0.34.0", |     "@vitest/coverage-v8": "^0.34.2", | ||||||
|     "@vitest/spy": "^0.34.0", |     "@vitest/spy": "^0.34.0", | ||||||
|     "@vitest/ui": "^0.34.0", |     "@vitest/ui": "^0.34.0", | ||||||
|     "ajv": "^8.12.0", |     "ajv": "^8.12.0", | ||||||
|     "chokidar": "^3.5.3", |     "chokidar": "^3.5.3", | ||||||
|     "concurrently": "^8.0.1", |     "concurrently": "^8.0.1", | ||||||
|     "cors": "^2.8.5", |     "cors": "^2.8.5", | ||||||
|     "cypress": "^12.10.0", |     "cypress": "^12.17.4", | ||||||
|     "cypress-image-snapshot": "^4.0.1", |     "cypress-image-snapshot": "^4.0.1", | ||||||
|     "esbuild": "^0.19.0", |     "esbuild": "^0.19.2", | ||||||
|     "eslint": "^8.39.0", |     "eslint": "^8.47.0", | ||||||
|     "eslint-config-prettier": "^8.8.0", |     "eslint-config-prettier": "^9.0.0", | ||||||
|     "eslint-plugin-cypress": "^2.13.2", |     "eslint-plugin-cypress": "^2.14.0", | ||||||
|     "eslint-plugin-html": "^7.1.0", |     "eslint-plugin-html": "^7.1.0", | ||||||
|     "eslint-plugin-jest": "^27.2.1", |     "eslint-plugin-jest": "^27.2.1", | ||||||
|     "eslint-plugin-jsdoc": "^46.0.0", |     "eslint-plugin-jsdoc": "^46.0.0", | ||||||
| @@ -111,16 +111,16 @@ | |||||||
|     "nyc": "^15.1.0", |     "nyc": "^15.1.0", | ||||||
|     "path-browserify": "^1.0.1", |     "path-browserify": "^1.0.1", | ||||||
|     "pnpm": "^8.6.8", |     "pnpm": "^8.6.8", | ||||||
|     "prettier": "^2.8.8", |     "prettier": "^3.0.2", | ||||||
|     "prettier-plugin-jsdoc": "^0.4.2", |     "prettier-plugin-jsdoc": "^0.4.2", | ||||||
|     "rimraf": "^5.0.0", |     "rimraf": "^5.0.0", | ||||||
|     "rollup-plugin-visualizer": "^5.9.2", |     "rollup-plugin-visualizer": "^5.9.2", | ||||||
|     "start-server-and-test": "^2.0.0", |     "start-server-and-test": "^2.0.0", | ||||||
|     "ts-node": "^10.9.1", |     "ts-node": "^10.9.1", | ||||||
|     "typescript": "^5.1.3", |     "typescript": "^5.1.6", | ||||||
|     "vite": "^4.3.9", |     "vite": "^4.4.9", | ||||||
|     "vite-plugin-istanbul": "^4.1.0", |     "vite-plugin-istanbul": "^5.0.0", | ||||||
|     "vitest": "^0.34.0" |     "vitest": "^0.34.2" | ||||||
|   }, |   }, | ||||||
|   "volta": { |   "volta": { | ||||||
|     "node": "18.17.1" |     "node": "18.17.1" | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ import _Ajv2019, { type JSONSchemaType } from 'ajv/dist/2019.js'; | |||||||
|  |  | ||||||
| // Workaround for wrong AJV types, see | // Workaround for wrong AJV types, see | ||||||
| // https://github.com/ajv-validator/ajv/issues/2132#issuecomment-1290409907 | // https://github.com/ajv-validator/ajv/issues/2132#issuecomment-1290409907 | ||||||
|  | // @ts-ignore Incorrect types | ||||||
| const Ajv2019 = _Ajv2019 as unknown as typeof _Ajv2019.default; | const Ajv2019 = _Ajv2019 as unknown as typeof _Ajv2019.default; | ||||||
|  |  | ||||||
| // !!! -- The config.type.js file is created by this script -- !!! | // !!! -- The config.type.js file is created by this script -- !!! | ||||||
|   | |||||||
							
								
								
									
										1557
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1557
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -5,20 +5,24 @@ | |||||||
|  * (i.e. the root of the Mermaid project). |  * (i.e. the root of the Mermaid project). | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| import { readFileSync, writeFileSync } from 'node:fs'; | import { readFile, writeFile } from 'node:fs/promises'; | ||||||
| import prettier from 'prettier'; | import prettier from 'prettier'; | ||||||
|  |  | ||||||
| const filepath = './cSpell.json'; | const main = async () => { | ||||||
| const cSpell: { words: string[] } = JSON.parse(readFileSync(filepath, 'utf8')); |   const filepath = './cSpell.json'; | ||||||
|  |   const cSpell: { words: string[] } = JSON.parse(await readFile(filepath, 'utf8')); | ||||||
|  |  | ||||||
| cSpell.words = [...new Set(cSpell.words.map((word) => word.toLowerCase()))]; |   cSpell.words = [...new Set(cSpell.words.map((word) => word.toLowerCase()))]; | ||||||
| cSpell.words.sort((a, b) => a.localeCompare(b)); |   cSpell.words.sort((a, b) => a.localeCompare(b)); | ||||||
|  |  | ||||||
| const prettierConfig = prettier.resolveConfig.sync(filepath) ?? {}; |   const prettierConfig = (await prettier.resolveConfig(filepath)) ?? {}; | ||||||
| writeFileSync( |   await writeFile( | ||||||
|   filepath, |  | ||||||
|   prettier.format(JSON.stringify(cSpell), { |  | ||||||
|     ...prettierConfig, |  | ||||||
|     filepath, |     filepath, | ||||||
|   }) |     await prettier.format(JSON.stringify(cSpell), { | ||||||
| ); |       ...prettierConfig, | ||||||
|  |       filepath, | ||||||
|  |     }), | ||||||
|  |   ); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | void main(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user