25 lines
607 B
TypeScript
25 lines
607 B
TypeScript
import type { Rule } from 'eslint';
|
|
import type { Config } from 'prettier';
|
|
|
|
export function buildJSDoc(content: string[]) {
|
|
return ['/**', ...content.filter(Boolean).map(line => ` * ${line}`), ' */'].join('\n');
|
|
}
|
|
|
|
export const prettierConfig: Config = {
|
|
plugins: ['prettier-plugin-organize-imports'],
|
|
parser: 'typescript',
|
|
singleQuote: true,
|
|
trailingComma: 'all',
|
|
};
|
|
|
|
export type MaybeArray<T> = T | T[];
|
|
export type PluginRules = Record<string, Rule.RuleModule>;
|
|
|
|
export interface Plugin {
|
|
id: string;
|
|
name: string;
|
|
prefix?: string;
|
|
module: () => Promise<any>;
|
|
rules?: PluginRules;
|
|
}
|