/ utils / genAmoDescription.ts
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');