{
	"$schema": "https://unpkg.com/knip@5/schema-jsonc.json",
	"ignoreExportsUsedInFile": {
		"interface": true,
		"type": true
	},
	"tags": ["-lintignore"],
	"ignore": [
		// test utilities only imported by test files — invisible to --production
		"packages/better-auth/src/client/test-plugin.ts",
		// CI scripts used by GitHub Actions workflows, not by packages
		".github/scripts/**"
	],
	"ignoreBinaries": ["playwright", "changeset", "open", "remark", "tsx"],
	// exports used only by tests — invisible to --production mode
	"ignoreIssues": {
		"packages/cli/src/commands/init/index.ts": ["exports"],
		"packages/cli/src/commands/init/utility/imports.ts": ["exports"],
		"packages/sso/src/saml/assertions.ts": ["exports"]
	},
	"ignoreDependencies": ["@changesets/cli", "@vitest/coverage-istanbul"],
	"rules": {
		// @cloudflare/workers-types is a valid optional peer dep reference
		"optionalPeerDependencies": "off",
		// catalog entries used by docs/ which is in ignoreWorkspaces
		"catalog": "off"
	},
	"workspaces": {
		"packages/*": {
			"entry": ["src/index.ts!"],
			"project": ["src/**/*.ts!"]
		},
		"packages/better-auth": {
			"project": [
				"src/**/*.ts!",
				"!src/adapters/**/test/*.prisma",
				"!src/adapters/**/test/.tmp",
				"!src/adapters/**/test/auth.ts"
			]
		},
		"packages/core": {
			"ignoreDependencies": [
				// type-only dependencies
				"kysely!",
				"nanostores!"
			]
		},
		"packages/test-utils": {},
		"packages/expo": {
			// neverBundle externals: referenced in bundled output, not in source
			"ignoreDependencies": ["@better-fetch/fetch", "better-call"]
		}
	},
	"vitest": {
		"entry": ["**/*.test.ts", "**/*.spec.ts"]
	},
	"ignoreWorkspaces": ["demo/**", "docs/**", "e2e/**"]
}
