mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 04:44:08 +01:00 
			
		
		
		
	jq -> node
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
  "!(docs/**/*)*.{ts,js,json,html,md,mts}": ["eslint --fix", "prettier --write"],
 | 
			
		||||
  "cSpell.json": ["./bin/checkCSpell.sh"]
 | 
			
		||||
  "cSpell.json": ["ts-node-esm bin/checkCSpell.ts"]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
jq ".words|=(. | map(ascii_downcase) | sort | unique)" cSpell.json > cSpell.temp.json
 | 
			
		||||
npx prettier --write cSpell.temp.json
 | 
			
		||||
mv cSpell.temp.json cSpell.json
 | 
			
		||||
							
								
								
									
										17
									
								
								bin/checkCSpell.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								bin/checkCSpell.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
import { readFileSync, writeFileSync } from 'node:fs';
 | 
			
		||||
import prettier from 'prettier';
 | 
			
		||||
 | 
			
		||||
const filepath = './cSpell.json';
 | 
			
		||||
const cSpell: { words: string[] } = JSON.parse(readFileSync(filepath, 'utf8'));
 | 
			
		||||
 | 
			
		||||
cSpell.words = [...new Set(cSpell.words.map((word) => word.toLowerCase()))];
 | 
			
		||||
cSpell.words.sort((a, b) => a.localeCompare(b));
 | 
			
		||||
 | 
			
		||||
const prettierConfig = prettier.resolveConfig.sync(filepath) ?? {};
 | 
			
		||||
writeFileSync(
 | 
			
		||||
  filepath,
 | 
			
		||||
  prettier.format(JSON.stringify(cSpell), {
 | 
			
		||||
    ...prettierConfig,
 | 
			
		||||
    filepath,
 | 
			
		||||
  })
 | 
			
		||||
);
 | 
			
		||||
							
								
								
									
										23
									
								
								cSpell.json
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								cSpell.json
									
									
									
									
									
								
							@@ -81,11 +81,7 @@
 | 
			
		||||
    "yash"
 | 
			
		||||
  ],
 | 
			
		||||
  "patterns": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Markdown links",
 | 
			
		||||
      "pattern": "\\((.*)\\)",
 | 
			
		||||
      "description": ""
 | 
			
		||||
    },
 | 
			
		||||
    { "name": "Markdown links", "pattern": "\\((.*)\\)", "description": "" },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Markdown code blocks",
 | 
			
		||||
      "pattern": "/^(\\s*`{3,}).*[\\s\\S]*?^\\1/gmx",
 | 
			
		||||
@@ -96,25 +92,14 @@
 | 
			
		||||
      "pattern": "\\`([^\\`\\r\\n]+?)\\`",
 | 
			
		||||
      "description": "https://stackoverflow.com/questions/41274241/how-to-capture-inline-markdown-code-but-not-a-markdown-code-fence-with-regex"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Link contents",
 | 
			
		||||
      "pattern": "\\<a(.*)\\>",
 | 
			
		||||
      "description": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Snippet references",
 | 
			
		||||
      "pattern": "-- snippet:(.*)",
 | 
			
		||||
      "description": ""
 | 
			
		||||
    },
 | 
			
		||||
    { "name": "Link contents", "pattern": "\\<a(.*)\\>", "description": "" },
 | 
			
		||||
    { "name": "Snippet references", "pattern": "-- snippet:(.*)", "description": "" },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Snippet references 2",
 | 
			
		||||
      "pattern": "\\<\\[sample:(.*)",
 | 
			
		||||
      "description": "another kind of snippet reference"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Multi-line code blocks",
 | 
			
		||||
      "pattern": "/^\\s*```[\\s\\S]*?^\\s*```/gm"
 | 
			
		||||
    },
 | 
			
		||||
    { "name": "Multi-line code blocks", "pattern": "/^\\s*```[\\s\\S]*?^\\s*```/gm" },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "HTML Tags",
 | 
			
		||||
      "pattern": "<[^>]*>",
 | 
			
		||||
 
 | 
			
		||||
@@ -61,14 +61,7 @@ const LOGMSG_COPIED = `, and copied to ${FINAL_DOCS_DIR}`;
 | 
			
		||||
 | 
			
		||||
const WARN_DOCSDIR_DOESNT_MATCH = `Changed files were transformed in ${SOURCE_DOCS_DIR} but do not match the files in ${FINAL_DOCS_DIR}. Please run 'pnpm --filter mermaid run docs:build' after making changes to ${SOURCE_DOCS_DIR} to update the ${FINAL_DOCS_DIR} directory with the transformed files.`;
 | 
			
		||||
 | 
			
		||||
// TODO: Read from .prettierrc?
 | 
			
		||||
const prettierConfig: prettier.Config = {
 | 
			
		||||
  useTabs: false,
 | 
			
		||||
  tabWidth: 2,
 | 
			
		||||
  endOfLine: 'auto',
 | 
			
		||||
  printWidth: 100,
 | 
			
		||||
  singleQuote: true,
 | 
			
		||||
};
 | 
			
		||||
const prettierConfig = prettier.resolveConfig.sync('.') ?? {};
 | 
			
		||||
 | 
			
		||||
let filesWereTransformed = false;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user