import eslint from "@eslint/js"
import tseslint from "typescript-eslint"

export default tseslint.config(
	eslint.configs.recommended,
	tseslint.configs.recommendedTypeChecked,
	{
		languageOptions: {
			parserOptions: {
				projectService: true,
				tsconfigRootDir: import.meta.dirname
			}
		}
	},
	tseslint.configs.strictTypeChecked,
	tseslint.configs.stylisticTypeChecked,
	{ ignores: ["dist/**", "eslint.config.mjs", "tsup.config.ts"] },
	{
		rules: { "@typescript-eslint/restrict-template-expressions": "off" },
		files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"]
	}
)
