import type { Linter } from 'eslint'; import { command, comments, disableds, ignores, importPluginConfig, javascript, jsdoc, jsonc, node, perfectionist, prettier, regexp, test, typescript, unicorn, vue, } from './configs'; import { customConfig } from './custom-config'; type FlatConfig = Linter.FlatConfig; type FlatConfigPromise = | FlatConfig | FlatConfig[] | Promise | Promise; async function defineConfig(config: FlatConfig[] = []) { const configs: FlatConfigPromise[] = [ vue(), javascript(), ignores(), prettier(), typescript(), jsonc(), disableds(), importPluginConfig(), node(), perfectionist(), comments(), jsdoc(), unicorn(), test(), regexp(), command(), ...customConfig, ...config, ]; const resolved = await Promise.all(configs); return resolved.flat(); } export { defineConfig };