mirror of
				https://github.com/C4illin/ConvertX.git
				synced 2025-11-03 21:43:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/** @type {import("eslint").Linter.Config} */
 | 
						|
const config = {
 | 
						|
  root: true,
 | 
						|
  parser: "@typescript-eslint/parser",
 | 
						|
  plugins: ["isaacscript", "import"],
 | 
						|
  extends: [
 | 
						|
    "plugin:@typescript-eslint/recommended-type-checked",
 | 
						|
    "plugin:@typescript-eslint/stylistic-type-checked",
 | 
						|
    "plugin:prettier/recommended",
 | 
						|
  ],
 | 
						|
  parserOptions: {
 | 
						|
    ecmaVersion: "latest",
 | 
						|
    sourceType: "module",
 | 
						|
    tsconfigRootDir: __dirname,
 | 
						|
    project: [
 | 
						|
      "./tsconfig.json",
 | 
						|
      "./cli/tsconfig.eslint.json", // separate eslint config for the CLI since we want to lint and typecheck differently due to template files
 | 
						|
      "./upgrade/tsconfig.json",
 | 
						|
      "./www/tsconfig.json",
 | 
						|
    ],
 | 
						|
  },
 | 
						|
  overrides: [
 | 
						|
    // Template files don't have reliable type information
 | 
						|
    {
 | 
						|
      files: ["./cli/template/**/*.{ts,tsx}"],
 | 
						|
      extends: ["plugin:@typescript-eslint/disable-type-checked"],
 | 
						|
    },
 | 
						|
  ],
 | 
						|
  rules: {
 | 
						|
    // These off/not-configured-the-way-we-want lint rules we like & opt into
 | 
						|
    "@typescript-eslint/no-explicit-any": "error",
 | 
						|
    "@typescript-eslint/no-unused-vars": [
 | 
						|
      "error",
 | 
						|
      { argsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_" },
 | 
						|
    ],
 | 
						|
    "@typescript-eslint/consistent-type-imports": [
 | 
						|
      "error",
 | 
						|
      { prefer: "type-imports", fixStyle: "inline-type-imports" },
 | 
						|
    ],
 | 
						|
    "import/consistent-type-specifier-style": ["error", "prefer-inline"],
 | 
						|
 | 
						|
    // For educational purposes we format our comments/jsdoc nicely
 | 
						|
    "isaacscript/complete-sentences-jsdoc": "warn",
 | 
						|
    "isaacscript/format-jsdoc-comments": "warn",
 | 
						|
 | 
						|
    // These lint rules don't make sense for us but are enabled in the preset configs
 | 
						|
    "@typescript-eslint/no-confusing-void-expression": "off",
 | 
						|
    "@typescript-eslint/restrict-template-expressions": "off",
 | 
						|
 | 
						|
    // This rule doesn't seem to be working properly
 | 
						|
    "@typescript-eslint/prefer-nullish-coalescing": "off",
 | 
						|
  },
 | 
						|
};
 | 
						|
 | 
						|
module.exports = config;
 |