eslint-doc-generator
Version:
Automatic documentation generator for ESLint plugins and rules.
26 lines (25 loc) • 932 B
JavaScript
import { table } from 'table';
import { getBuiltinEmojiSuggestions } from './suggest-emojis-builtin.js';
import { applyAiEmojiSuggestions } from './suggest-emojis-ai.js';
function formatSuggestionTable(configNames, emojiByConfig) {
const rows = [
['Config', 'Emoji'],
...configNames.map((configName) => [
configName,
emojiByConfig.get(configName),
]),
];
return table(rows, {
columns: [{ alignment: 'left' }, { alignment: 'left' }],
});
}
export async function generateSuggestedEmojis(context) {
const { configNames, emojiByConfig } = getBuiltinEmojiSuggestions(context);
if (context.options.ai) {
await applyAiEmojiSuggestions(configNames, emojiByConfig, {
aiProvider: context.options.aiProvider,
aiModel: context.options.aiModel,
});
}
console.log(formatSuggestionTable(configNames, emojiByConfig));
}