UNPKG

@gabortorma/antfu-eslint-config

Version:

Default options for @antfu/eslint-config

116 lines (113 loc) 3.78 kB
// src/index.ts import config from "@antfu/eslint-config"; import { defu } from "defu"; // src/options.ts var defaultOptions = { // https://github.com/antfu/eslint-config?tab=readme-ov-file#type-aware-rules typescript: { tsconfigPath: "tsconfig.json", parserOptions: { extraFileExtensions: [".vue"] }, overrides: { "ts/method-signature-style": ["error", "method"] // https://typescript-eslint.io/rules/method-signature-style#method }, overridesTypeAware: { "ts/strict-boolean-expressions": "off" // https://typescript-eslint.io/rules/strict-boolean-expressions } }, vue: { overrides: { // https://eslint.vuejs.org/rules/component-name-in-template-casing "vue/component-name-in-template-casing": [ "error", "PascalCase", // https://eslint.vuejs.org/rules/component-name-in-template-casing#pascalcase { registeredComponentsOnly: false, // https://eslint.vuejs.org/rules/component-name-in-template-casing#registeredcomponentsonly ignores: ["/^v-/"] // ignore vuetify components // https://eslint.vuejs.org/rules/component-name-in-template-casing#ignores } ], // https://eslint.vuejs.org/rules/max-attributes-per-line "vue/max-attributes-per-line": ["warn", { singleline: 100, // https://eslint.vuejs.org/rules/max-attributes-per-line#singleline-3 multiline: 1 // https://eslint.vuejs.org/rules/max-attributes-per-line#multiline-2 }] } }, javascript: { overrides: { // https://www.npmjs.com/package/eslint-plugin-unused-imports#usage "unused-imports/no-unused-vars": [ "warn", { args: "after-used", argsIgnorePattern: "^_", vars: "all", varsIgnorePattern: "^_" } ], "object-shorthand": ["error", "always", { avoidQuotes: false // https://eslint.org/docs/latest/rules/object-shorthand#avoidquotes }], "no-console": "off" // https://eslint.org/docs/latest/rules/no-console } }, formatters: true, // https://github.com/antfu/eslint-config?tab=readme-ov-file#formatters pnpm: true // https://www.npmjs.com/package/eslint-plugin-pnpm }; var styleMaxLenRules = { name: "gabortorma/style/max-len", files: ["**/*.?([cm])js", "**/*.?([cm])jsx", "**/*.?([cm])ts", "**/*.?([cm])tsx", "**/*.vue"], rules: { // https://eslint.style/rules/js/max-len "style/max-len": ["warn", { code: 125, // https://eslint.style/rules/js/max-len#code tabWidth: 2, // https://eslint.style/rules/js/max-len#tabwidth ignoreComments: true, // https://eslint.style/rules/js/max-len#ignorecomments ignoreTrailingComments: true, // https://eslint.style/rules/js/max-len#ignoretrailingcomments ignoreUrls: true, // https://eslint.style/rules/js/max-len#ignoreurls ignoreStrings: true, // https://eslint.style/rules/js/max-len#ignorestrings ignoreTemplateLiterals: true, // https://eslint.style/rules/js/max-len#ignoretemplateliterals ignoreRegExpLiterals: true, // https://eslint.style/rules/js/max-len#ignoreregexpliterals ignorePattern: `^(\\s+|export\\s(default\\s)?(async\\s)?)function` // https://eslint.style/rules/js/max-len#ignorepattern }] } }; var packageJsonRules = { name: "gabortorma/package-json/off/eol-last", files: ["package.json"], rules: { "style/eol-last": "off" // https://eslint.style/rules/js/eol-last } }; // src/index.ts function antfu(options, ...userConfigs) { return config( defu( options, defaultOptions ), packageJsonRules, styleMaxLenRules, ...userConfigs ); } export { antfu as default };