mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 12:54:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			940 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			940 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/**
 | 
						|
 * Sorts all the `words` in the cSpell.json file.
 | 
						|
 *
 | 
						|
 * Run from the same folder as the `cSpell.json` file
 | 
						|
 * (i.e. the root of the Mermaid project).
 | 
						|
 */
 | 
						|
 | 
						|
import { readFileSync, writeFileSync, readdirSync } from 'node:fs';
 | 
						|
import { join } from 'node:path';
 | 
						|
 | 
						|
const cSpellDictionaryDir = './.cspell';
 | 
						|
 | 
						|
function sortWordsInFile(filepath: string) {
 | 
						|
  const words = readFileSync(filepath, 'utf8')
 | 
						|
    .split('\n')
 | 
						|
    .map((word) => word.trim())
 | 
						|
    .filter((word) => word);
 | 
						|
  words.sort((a, b) => a.localeCompare(b));
 | 
						|
 | 
						|
  writeFileSync(filepath, words.join('\n') + '\n', 'utf8');
 | 
						|
}
 | 
						|
 | 
						|
function findDictionaries() {
 | 
						|
  const files = readdirSync(cSpellDictionaryDir, { withFileTypes: true })
 | 
						|
    .filter((dir) => dir.isFile())
 | 
						|
    .filter((dir) => dir.name.endsWith('.txt'));
 | 
						|
  return files.map((file) => join(cSpellDictionaryDir, file.name));
 | 
						|
}
 | 
						|
 | 
						|
function main() {
 | 
						|
  const files = findDictionaries();
 | 
						|
  files.forEach(sortWordsInFile);
 | 
						|
}
 | 
						|
 | 
						|
main();
 |