mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
Every `z.infer<>` source-of-truth type the residual flagged had no
external consumer:
- `MetricSource`, `AIRecommendation`, `AIRecommendationRationale`,
`AICitation`, `AIWarning`, `StoryboardAnnotation` in
`src/lib/ai/schema.ts`
- `InsightFinding` in `src/lib/ai/types.ts`
- `CoachChatRequest` in `src/lib/ai/coach/types.ts`
- `ApplyProfileInput` in `src/lib/auth/profile-update.ts`
- `CreateSideEffectInput`, `ListSideEffectsInput` in
`src/lib/medications/side-effects/validators.ts`
- `AnalyticsSlicePayload` in `src/lib/queries/use-analytics-query.ts`
- `WithingsWebhookAuthOutcome` in `src/lib/withings/webhook-handler.ts`
Plus three stragglers — `ThresholdOverride` (the persisted shape is the
sibling `ThresholdOverridesJson`), `ChartRangePreset` + the now-orphaned
`CHART_RANGE_PRESETS` constant it was derived from (no chart reads the
preset list), and the `WebPushChannelConfig` + `ApnsChannelConfig` +
`ChannelConfig` triplet in `src/lib/notifications/types.ts` (the
dispatcher imports the two real channel configs by name; the empty
records and the union added nothing).
`src/lib/validations/**` keeps its `z.infer<>` types — that's the
external API surface the iOS client matches against. Muted via
`ignoreIssues` so the gate can enforce while the contract surface
stays self-documenting.
79 lines
1.8 KiB
JSON
79 lines
1.8 KiB
JSON
{
|
|
"$schema": "https://unpkg.com/knip@6/schema.json",
|
|
"entry": [
|
|
"src/app/**/page.tsx",
|
|
"src/app/**/layout.tsx",
|
|
"src/app/**/route.ts",
|
|
"src/app/**/loading.tsx",
|
|
"src/app/**/not-found.tsx",
|
|
"src/app/**/error.tsx",
|
|
"src/app/**/global-error.tsx",
|
|
"src/app/**/template.tsx",
|
|
"src/app/**/opengraph-image.tsx",
|
|
"src/app/**/twitter-image.tsx",
|
|
"src/app/**/icon.tsx",
|
|
"src/app/**/apple-icon.tsx",
|
|
"src/app/**/manifest.ts",
|
|
"src/app/**/robots.ts",
|
|
"src/app/**/sitemap.ts",
|
|
"src/app/**/default.tsx",
|
|
"src/middleware.ts",
|
|
"src/instrumentation.ts",
|
|
"src/lib/jobs/**/*.ts",
|
|
"src/lib/health/**/*.ts",
|
|
"scripts/**/*.ts",
|
|
"scripts/**/*.mjs",
|
|
"e2e/**/*.spec.ts",
|
|
"e2e/**/*.test.ts",
|
|
"tests/**/*.test.ts",
|
|
"tests/**/setup.ts",
|
|
"vitest.config.ts",
|
|
"vitest.config.integration.ts",
|
|
"playwright.config.ts",
|
|
"next.config.ts",
|
|
"eslint.config.*",
|
|
"knip.json"
|
|
],
|
|
"project": [
|
|
"src/**/*.{ts,tsx}",
|
|
"scripts/**/*.{ts,mjs}",
|
|
"tests/**/*.ts",
|
|
"e2e/**/*.ts"
|
|
],
|
|
"ignore": [
|
|
"src/generated/**",
|
|
"prisma/**",
|
|
"public/**",
|
|
".next/**",
|
|
"**/__mocks__/**",
|
|
"e2e/setup/test-helpers.ts",
|
|
"src/components/charts/compliance-line-chart.tsx",
|
|
"src/lib/logging/index.ts"
|
|
],
|
|
"ignoreDependencies": [
|
|
"@types/node",
|
|
"@types/react",
|
|
"@types/react-dom",
|
|
"@hookform/resolvers",
|
|
"react-hook-form",
|
|
"@prisma/client",
|
|
"next-themes",
|
|
"@vitejs/plugin-react",
|
|
"shadcn",
|
|
"tailwindcss",
|
|
"testcontainers",
|
|
"tw-animate-css"
|
|
],
|
|
"ignoreBinaries": [
|
|
"docker",
|
|
"docker-compose",
|
|
"pg_isready",
|
|
"tsx"
|
|
],
|
|
"ignoreExportsUsedInFile": true,
|
|
"ignoreIssues": {
|
|
"src/components/ui/**": ["exports", "types"],
|
|
"src/lib/validations/**": ["types"]
|
|
}
|
|
}
|