eslint-config-proste
Version:
preset eslint config
51 lines (50 loc) • 1.21 kB
JavaScript
import rules from "../rules/vue.js";
async function getVueConfig({
enableTs,
version,
overrides
}) {
const [{ default: vue }, { default: vueParser }] = await Promise.all([
import("eslint-plugin-vue"),
import("vue-eslint-parser")
]);
return {
name: "proste_vue_config",
files: ["**/*.vue"],
plugins: {
vue
},
processor: vue.processors.vue,
languageOptions: {
parser: vueParser,
parserOptions: {
ecmaFeatures: {
jsx: !0
},
extraFileExtensions: [".vue"],
parser: enableTs ? (
// eslint-disable-next-line unicorn/no-await-expression-member
(await import("@typescript-eslint/parser")).default
) : null,
sourceType: "module"
}
},
rules: {
...vue.configs.base.rules,
...version === 2 ? {
...vue.configs.essential.rules,
...vue.configs["strongly-recommended"].rules,
...vue.configs.recommended.rules
} : {
...vue.configs.essential.rules,
...vue.configs["strongly-recommended"].rules,
...vue.configs.recommended.rules
},
...rules,
...overrides
}
};
}
export {
getVueConfig
};