genAmoDescription.ts
1 /** 2 * @file generates addon's description for AMO 3 * 4 * Usage: 5 * 6 * pnpm -s tsx ./utils/genAmoDescription.ts README.md 7 */ 8 9 import fs from 'node:fs/promises'; 10 import { parseArgs } from 'node:util'; 11 12 import { generateExtensionDescription } from './helpers/generateExtensionDescription'; 13 import { printCode } from './helpers/printCode'; 14 15 const { positionals } = parseArgs({ 16 allowPositionals: true, 17 }); 18 19 if (positionals.length < 1 || positionals.length > 1) { 20 throw new RangeError('exactly one positional is required'); 21 } 22 23 const description = generateExtensionDescription( 24 await fs.readFile(positionals[0], { encoding: 'utf8' }), 25 ); 26 27 await printCode(description, 'markdown');