mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-27 08:14:30 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| module.exports = {
 | |
|   root: true,
 | |
|   env: {
 | |
|     browser: true,
 | |
|     node: true,
 | |
|   },
 | |
|   parser: "vue-eslint-parser",
 | |
|   parserOptions: {
 | |
|     parser: "@typescript-eslint/parser",
 | |
|     requireConfigFile: false,
 | |
|     tsConfigRootDir: __dirname,
 | |
|     project: ["./tsconfig.json"],
 | |
|     extraFileExtensions: [".vue"],
 | |
|   },
 | |
|   extends: [
 | |
|     "@nuxtjs/eslint-config-typescript",
 | |
|     "plugin:nuxt/recommended",
 | |
|     "eslint:recommended",
 | |
|     "plugin:@typescript-eslint/recommended",
 | |
|     "plugin:@typescript-eslint/recommended-requiring-type-checking",
 | |
|     // "plugin:prettier/recommended",
 | |
|     "prettier",
 | |
|   ],
 | |
|   // Re-add once we use nuxt bridge
 | |
|   // See https://v3.nuxtjs.org/getting-started/bridge#update-nuxtconfig
 | |
|   ignorePatterns: ["nuxt.config.js", "lib/api/types/**/*.ts"],
 | |
|   plugins: ["prettier"],
 | |
|   // add your custom rules here
 | |
|   rules: {
 | |
|     "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
 | |
|     "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
 | |
|     quotes: ["error", "double"],
 | |
|     "vue/component-name-in-template-casing": ["error", "PascalCase"],
 | |
|     camelcase: 0,
 | |
|     "vue/singleline-html-element-content-newline": "off",
 | |
|     "vue/multiline-html-element-content-newline": "off",
 | |
|     "vue/no-mutating-props": "off",
 | |
|     "vue/no-v-text-v-html-on-component": "warn",
 | |
|     "vue/no-v-for-template-key-on-child": "off",
 | |
|     "vue/valid-v-slot": [
 | |
|       "error",
 | |
|       {
 | |
|         allowModifiers: true,
 | |
|       },
 | |
|     ],
 | |
|     "@typescript-eslint/ban-ts-comment": [
 | |
|       "error",
 | |
|       {
 | |
|         "ts-ignore": "allow-with-description",
 | |
|       },
 | |
|     ],
 | |
|     "no-restricted-imports": [
 | |
|       "error",
 | |
|       { paths: ["@vue/reactivity", "@vue/runtime-dom", "@vue/composition-api", "vue-demi"] },
 | |
|     ],
 | |
| 
 | |
|     // TODO Gradually activate all rules
 | |
|     // Allow Promise in onMounted
 | |
|     "@typescript-eslint/no-misused-promises": [
 | |
|       "error",
 | |
|       {
 | |
|         checksVoidReturn: {
 | |
|           arguments: false,
 | |
|         },
 | |
|       },
 | |
|     ],
 | |
|     "@typescript-eslint/no-unsafe-assignment": "off",
 | |
|     "@typescript-eslint/no-unsafe-member-access": "off",
 | |
|     "@typescript-eslint/explicit-module-boundary-types": "off",
 | |
|     "@typescript-eslint/no-unsafe-call": "off",
 | |
|     "@typescript-eslint/no-floating-promises": "off",
 | |
|     "@typescript-eslint/no-explicit-any": "off",
 | |
|   },
 | |
| };
 |