UNPKG

@truenine/eslint9-config

Version:

ESLint 9 configuration package for Compose Client projects with TypeScript, Vue, and modern JavaScript support

42 lines (40 loc) 1.81 kB
import { defaultFormatterConfig, defaultJsConfig, defaultStrictTsConfig, defaultStylisticConfig, defaultTestConfig, defaultTsConfig, defaultUnocssConfig, defaultVueConfig, mergeWithDefaults } from "./defaults/index.js"; import { antfu } from "@antfu/eslint-config"; //#region src/index.ts async function applyPreset(options = {}) { return eslint9(options); } async function eslint9(options = {}) { const { type = "lib", ignores = [], test = true, nextjs = false, react = false, unocss = false, vue = false, jsx = false, pnpm = false, stylistic = true, javascript = defaultJsConfig, typescript = defaultTsConfig, formatters = false } = options; const _test = mergeWithDefaults(test, defaultTestConfig); const _unocss = mergeWithDefaults(unocss, defaultUnocssConfig); const _vue = mergeWithDefaults(vue, defaultVueConfig); const _javascript = mergeWithDefaults(javascript, defaultJsConfig); const _stylistic = mergeWithDefaults(stylistic, defaultStylisticConfig); const _formatters = mergeWithDefaults(formatters, defaultFormatterConfig); let _typescript = typescript; let _pnpm = pnpm; if (type === "app") _pnpm = false; if (_typescript !== null && typeof _typescript === "object" && "strictTypescriptEslint" in _typescript && _typescript.strictTypescriptEslint === true) { _typescript = mergeWithDefaults(typescript, defaultStrictTsConfig); if (typeof _typescript === "object" && "tsconfigPath" in _typescript) _typescript.parserOptions = { projectService: true }; } return antfu({ type, ignores, pnpm: _pnpm, test: _test, unocss: _unocss, vue: _vue, nextjs, react, jsx, typescript: _typescript, javascript: _javascript, stylistic: _stylistic, formatters: _formatters }); } //#endregion export { applyPreset, eslint9 as default }; //# sourceMappingURL=index.js.map