@kevinmarrec/cloudstack-eslint-config
Version:
Opinionated ESLint config.
51 lines (49 loc) • 1.31 kB
JavaScript
import { antfu } from "@antfu/eslint-config";
import defu from "defu";
import { globSync } from "tinyglobby";
//#region src/index.ts
function useConfig(options = {}, ...userConfigs) {
const [unoConfig] = globSync("**/uno.config.ts", { absolute: true });
if (options.unocss !== false && unoConfig) options.unocss = true;
if (options.unocss) options.unocss = defu(options.unocss, {
attributify: false,
strict: true
});
return antfu(defu(options, {
formatters: true,
ignores: options.ignores,
vue: {
a11y: true,
overrides: { "vue/no-unused-properties": "error" }
},
rules: {
"import/consistent-type-specifier-style": ["off"],
"import/no-duplicates": ["error", { "prefer-inline": true }],
"perfectionist/sort-imports": ["error", {
groups: [
["builtin", "builtin-type"],
["external", "external-type"],
["internal", "internal-type"],
[
"parent",
"parent-type",
"sibling",
"sibling-type",
"index",
"index-type"
],
"side-effect",
"object",
"unknown"
],
newlinesBetween: "always",
order: "asc",
type: "natural"
}]
},
settings: { unocss: { configPath: unoConfig } }
}), ...userConfigs);
}
var src_default = useConfig();
//#endregion
export { src_default as default, useConfig };