| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import vue from "eslint-plugin-vue";
- import typescriptEslint from "@typescript-eslint/eslint-plugin";
- import globals from "globals";
- import parser from "vue-eslint-parser";
- import path from "node:path";
- import { fileURLToPath } from "node:url";
- import js from "@eslint/js";
- import { FlatCompat } from "@eslint/eslintrc";
- const __filename = fileURLToPath(import.meta.url);
- const __dirname = path.dirname(__filename);
- const compat = new FlatCompat({
- baseDirectory: __dirname,
- recommendedConfig: js.configs.recommended,
- allConfig: js.configs.all
- });
- export default [{
- ignores: ["**/.nuxt", "coverage/*", "vendor/*", "dist/*", "models/models.ts"],
- }, ...compat.extends(
- "@nuxtjs/eslint-config-typescript",
- "plugin:nuxt/recommended",
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:vue/vue3-recommended",
- "plugin:prettier/recommended",
- "plugin:you-dont-need-lodash-underscore/compatible",
- ), {
- plugins: {
- vue,
- "@typescript-eslint": typescriptEslint,
- },
- languageOptions: {
- globals: {
- ...globals.browser,
- ...globals.node,
- useRuntimeConfig: "readonly",
- useAsyncData: "readonly",
- navigateTo: "readonly",
- computed: "readonly",
- ref: "readonly",
- definePageMeta: "readonly",
- useRouter: "readonly",
- useRoute: "readonly",
- useI18n: "readonly",
- onMounted: "readonly",
- onUnmounted: "readonly",
- watch: "readonly",
- useRepo: "readonly",
- },
- parser: parser,
- ecmaVersion: 2020,
- sourceType: "module",
- parserOptions: {
- parser: "@typescript-eslint/parser",
- tsconfigRootDir: "/home/workspace",
- },
- },
- rules: {
- "no-console": 0,
- "vue/valid-v-slot": ["error", {
- allowModifiers: true,
- }],
- "vue/multi-word-component-names": 0,
- "@typescript-eslint/no-inferrable-types": 0,
- },
- }];
|