UNPKG

obsidian-plugin-config

Version:

Global CLI injection tool for Obsidian plugins

64 lines (59 loc) 1.84 kB
import * as typescriptEslintParser from "@typescript-eslint/parser"; import typescriptEslintPlugin from "@typescript-eslint/eslint-plugin"; import "eslint-import-resolver-typescript"; import type { Linter } from "eslint"; const configs: Linter.Config[] = [ { ignores: [ "eslint.config.mts" ] }, { files: ["**/*.ts"], ignores: [ "dist/**", "node_modules/**", "main.js" ], languageOptions: { parser: typescriptEslintParser, sourceType: "module", parserOptions: { project: "./tsconfig.json", ecmaVersion: 2023 } }, plugins: { "@typescript-eslint": typescriptEslintPlugin as any // Type assertion to bypass type checking }, rules: { // Base rules "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": ["error", { "args": "none", "varsIgnorePattern": "^_" }], "@typescript-eslint/ban-ts-comment": "warn", "no-prototype-builtins": "off", "@typescript-eslint/no-empty-function": "off", // Useful rules but not too strict "semi": "error", "eqeqeq": ["error", "always"], "prefer-const": "error", "@typescript-eslint/explicit-function-return-type": ["warn", { "allowExpressions": true }], "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/consistent-type-imports": ["warn", { "prefer": "type-imports" }], // Disable overly strict rules "@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-unsafe-call": "off", "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-argument": "off" } }, { files: ["src/**/*.ts"], rules: { "no-console": ["warn", { "allow": ["warn", "error", "debug"] }] } } ]; export default configs;