Skip to content

chore(cliparr): enforce strict any linting#117

Merged
KyleTryon merged 1 commit into
mainfrom
chore/cliparr/strict-any-lint
May 31, 2026
Merged

chore(cliparr): enforce strict any linting#117
KyleTryon merged 1 commit into
mainfrom
chore/cliparr/strict-any-lint

Conversation

@KyleTryon
Copy link
Copy Markdown
Contributor

Summary

  • enforce explicit any and unsafe type-flow lint rules across checked TypeScript code
  • remove the Plex/Jellyfin provider lint carve-out and type the provider response surfaces that depended on it
  • make noImplicitAny explicit in the shared TypeScript config

Validation

  • pnpm preflight

Notes

Generated outputs remain excluded from lint because their generators emit any.

@cloudflare-workers-and-pages
Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
cliparr-web 655b110 Commit Preview URL

Branch Preview URL
May 31 2026, 06:05 PM

@KyleTryon KyleTryon requested a review from Copilot May 31, 2026 18:55
@KyleTryon KyleTryon marked this pull request as ready for review May 31, 2026 18:55
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tightens TypeScript safety guarantees across the repo by making any usage and unsafe type flows lint errors (and removing prior provider carve-outs), while updating Plex/Jellyfin provider code to comply with the stricter rules.

Changes:

  • Made noImplicitAny explicit in the shared TypeScript base config.
  • Strengthened ESLint type-checked rules (no-unsafe-*, redundant type constituents) and removed the Jellyfin/Plex provider exemptions.
  • Replaced any-based parsing in Plex/Jellyfin providers with unknown + narrowing and added typed Plex metadata surfaces.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tsconfig.base.json Explicitly sets noImplicitAny: true alongside strict to enforce consistent TS behavior.
eslint.config.js Enforces stricter any/unsafe-flow rules and removes provider-specific rule disablements.
apps/server/src/providers/plex/shared.ts Replaces any property access with unknown + runtime narrowing for persisted connection parsing.
apps/server/src/providers/plex/playback.ts Introduces typed Plex metadata/session shapes to eliminate any and unsafe accesses in playback normalization.
apps/server/src/providers/plex/connectionState.ts Removes any cast in plexBaseUrlMode by using typed record access.
apps/server/src/providers/jellyfin/shared.ts Avoids unsafe indexed access on headers by casting to a safe record shape in the non-Headers case.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@KyleTryon KyleTryon merged commit ebeb8e6 into main May 31, 2026
6 checks passed
@KyleTryon KyleTryon deleted the chore/cliparr/strict-any-lint branch May 31, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants