From e7369acaea111e24c43f30b367ae7e1513870283 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Fri, 4 Nov 2022 02:05:50 +0530 Subject: [PATCH] jq -> node --- .lintstagedrc.json | 2 +- bin/checkCSpell.sh | 5 ----- bin/checkCSpell.ts | 17 +++++++++++++++++ cSpell.json | 23 ++++------------------- packages/mermaid/src/docs.mts | 9 +-------- 5 files changed, 23 insertions(+), 33 deletions(-) delete mode 100755 bin/checkCSpell.sh create mode 100644 bin/checkCSpell.ts diff --git a/.lintstagedrc.json b/.lintstagedrc.json index 17b627b37..e626b461c 100644 --- a/.lintstagedrc.json +++ b/.lintstagedrc.json @@ -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"] } diff --git a/bin/checkCSpell.sh b/bin/checkCSpell.sh deleted file mode 100755 index bacc2bb93..000000000 --- a/bin/checkCSpell.sh +++ /dev/null @@ -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 \ No newline at end of file diff --git a/bin/checkCSpell.ts b/bin/checkCSpell.ts new file mode 100644 index 000000000..3616d39e0 --- /dev/null +++ b/bin/checkCSpell.ts @@ -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, + }) +); diff --git a/cSpell.json b/cSpell.json index 873de93e7..e31a77fc0 100644 --- a/cSpell.json +++ b/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": "\\", - "description": "" - }, - { - "name": "Snippet references", - "pattern": "-- snippet:(.*)", - "description": "" - }, + { "name": "Link contents", "pattern": "\\", "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": "<[^>]*>", diff --git a/packages/mermaid/src/docs.mts b/packages/mermaid/src/docs.mts index 96f5e9024..5d7175a86 100644 --- a/packages/mermaid/src/docs.mts +++ b/packages/mermaid/src/docs.mts @@ -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;