A personal media tracker built on the AT Protocol opnshelf.xyz
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: temporarily disable typecheck in pre-commit hook

The 29 remaining TypeScript errors require:
1. Router route registration updates for /lists/, /profile/, /settings
2. Backend API type updates for missing properties (vote_average, status, rating)
3. Hook mutation function signature refactoring

Typecheck can be run manually with
> opnshelf@ typecheck /Users/rowanpaulflynn/Code/HackFriday/opnshelf
> turbo run typecheck

• Packages in scope: @opnshelf/api, @opnshelf/web, backend
• Running typecheck in 3 packages
• Remote caching disabled

backend:typecheck: cache bypass, force executing 15267429fe13efc7
@opnshelf/web:typecheck: cache bypass, force executing 2ac1d194a83f2de1
backend:typecheck:
backend:typecheck: > backend@0.0.1 typecheck /Users/rowanpaulflynn/Code/HackFriday/opnshelf/backend
backend:typecheck: > tsc --noEmit -p tsconfig.json
backend:typecheck:
@opnshelf/web:typecheck:
@opnshelf/web:typecheck: > @opnshelf/web@ typecheck /Users/rowanpaulflynn/Code/HackFriday/opnshelf/apps/web
@opnshelf/web:typecheck: > tsc --noEmit
@opnshelf/web:typecheck:
@opnshelf/web:typecheck: src/components/SearchCommand.tsx(285,12): error TS2322: Type '"/lists/$slug"' is not assignable to type '"/" | "." | ".." | "/about" | "/calendar" | "/dashboard" | "/following" | "/lists" | "/login" | "/auth/complete" | "/movies/$movieId/$movieName" | "/shows/$showId/$showName" | "/shows/$showId/$showName/seasons/$seasonNumber" | "/shows/$showId/$showName/seasons/$seasonNumber/episodes/$episodeNumber"'.
@opnshelf/web:typecheck: src/components/SearchCommand.tsx(286,22): error TS2353: Object literal may only specify known properties, and 'slug' does not exist in type 'ParamsReducerFn<RouterCore<Route<Register, any, "/", "/", string, "__root__", undefined, {}, MyRouterContext, AnyContext, AnyContext, {}, undefined, ... 4 more ..., undefined>, "never", false, RouterHistory, Record<...>>, "PATH", string, "/lists/$slug">'.
@opnshelf/web:typecheck: src/components/SearchCommand.tsx(309,13): error TS2322: Type '"/profile/$handle"' is not assignable to type '"/" | "." | ".." | "/about" | "/calendar" | "/dashboard" | "/following" | "/lists" | "/login" | "/auth/complete" | "/movies/$movieId/$movieName" | "/shows/$showId/$showName" | "/shows/$showId/$showName/seasons/$seasonNumber" | "/shows/$showId/$showName/seasons/$seasonNumber/episodes/$episodeNumber"'.
@opnshelf/web:typecheck: src/components/SearchCommand.tsx(316,14): error TS2322: Type 'string | { [key: string]: unknown; }' is not assignable to type 'ReactNode'.
@opnshelf/web:typecheck: Type '{ [key: string]: unknown; }' is not assignable to type 'ReactNode'.
@opnshelf/web:typecheck: Type '{ [key: string]: unknown; }' is missing the following properties from type 'ReactPortal': children, type, props, key
@opnshelf/web:typecheck: src/lib/hooks/useDashboard.ts(108,4): error TS2322: Type '{ page: number; }' is not assignable to type 'undefined'.
@opnshelf/web:typecheck: src/lib/hooks/useDashboard.ts(117,4): error TS2322: Type '{ page: number; }' is not assignable to type 'undefined'.
@opnshelf/web:typecheck: src/lib/hooks/useLists.ts(39,20): error TS2554: Expected 2 arguments, but got 1.
@opnshelf/web:typecheck: src/lib/hooks/useLists.ts(66,34): error TS2554: Expected 2 arguments, but got 1.
@opnshelf/web:typecheck: src/lib/hooks/useLists.ts(70,11): error TS18046: 'result' is of type 'unknown'.
@opnshelf/web:typecheck: src/lib/hooks/useLists.ts(100,34): error TS2554: Expected 2 arguments, but got 1.
@opnshelf/web:typecheck: src/lib/hooks/useLists.ts(103,11): error TS18046: 'result' is of type 'unknown'.
@opnshelf/web:typecheck: src/lib/hooks/useMedia.ts(84,4): error TS2322: Type '{ page: number; pageSize: number; }' is not assignable to type 'undefined'.
@opnshelf/web:typecheck: src/routes/calendar.tsx(199,8): error TS6133: '_getEpisodeInfo' is declared but its value is never read.
@opnshelf/web:typecheck: src/routes/following.tsx(373,14): error TS2741: Property 'params' is missing in type '{ children: string | undefined; to: "/movies/$movieId/$movieName" | "/shows/$showId/$showName/seasons/$seasonNumber/episodes/$episodeNumber"; className: string; }' but required in type 'MakeRequiredPathParams<RouterCore<Route<Register, any, "/", "/", string, "__root__", undefined, {}, MyRouterContext, AnyContext, AnyContext, {}, undefined, ... 4 more ..., undefined>, "never", false, RouterHistory, Record<...>>, string, "/movies/$movieId/$movieName" | "/shows/$showId/$showName/seasons/$seasonNumber/...'.
@opnshelf/web:typecheck: src/routes/following.tsx(416,13): error TS2741: Property 'params' is missing in type '{ children: Element; to: "/movies/$movieId/$movieName" | "/shows/$showId/$showName"; }' but required in type 'MakeRequiredPathParams<RouterCore<Route<Register, any, "/", "/", string, "__root__", undefined, {}, MyRouterContext, AnyContext, AnyContext, {}, undefined, ... 4 more ..., undefined>, "never", false, RouterHistory, Record<...>>, string, "/movies/$movieId/$movieName" | "/shows/$showId/$showName">'.
@opnshelf/web:typecheck: src/routes/movies/$movieId/$movieName.tsx(105,8): error TS6133: '_watchedList' is declared but its value is never read.
@opnshelf/web:typecheck: src/routes/movies/$movieId/$movieName.tsx(249,5): error TS2353: Object literal may only specify known properties, and 'title' does not exist in type 'AddToListDto'.
@opnshelf/web:typecheck: src/routes/movies/$movieId/$movieName.tsx(606,32): error TS2339: Property 'rating' does not exist on type '{ id: string; title: string; type: "movie"; year: number | undefined; posterUrl: string; }'.
@opnshelf/web:typecheck: src/routes/movies/$movieId/$movieName.tsx(694,12): error TS2322: Type '"/lists/$slug"' is not assignable to type '"/" | "." | ".." | "/about" | "/calendar" | "/dashboard" | "/following" | "/lists" | "/login" | "/auth/complete" | "/movies/$movieId/$movieName" | "/shows/$showId/$showName" | "/shows/$showId/$showName/seasons/$seasonNumber" | "/shows/$showId/$showName/seasons/$seasonNumber/episodes/$episodeNumber"'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(203,15): error TS2339: Property 'vote_average' does not exist on type 'TmdbShowResultDto'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(324,17): error TS2339: Property 'vote_average' does not exist on type 'TmdbShowDetailDto'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(337,16): error TS2339: Property 'status' does not exist on type 'TmdbShowDetailDto'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(436,16): error TS2322: Type 'number' is not assignable to type 'string'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(496,20): error TS2322: Type 'number' is not assignable to type 'string'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(497,20): error TS2322: Type 'number' is not assignable to type 'string'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(654,17): error TS2339: Property 'status' does not exist on type 'TmdbShowDetailDto'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/index.tsx(715,12): error TS2322: Type '`/lists/${string}`' is not assignable to type '"/" | "." | ".." | "/about" | "/calendar" | "/dashboard" | "/following" | "/lists" | "/login" | "/auth/complete" | "/movies/$movieId/$movieName" | "/shows/$showId/$showName" | "/shows/$showId/$showName/seasons/$seasonNumber" | "/shows/$showId/$showName/seasons/$seasonNumber/episodes/$episodeNumber"'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/seasons.$seasonNumber.episodes.$episodeNumber.tsx(24,5): error TS2339: Property 'episodes' does not exist on type 'TmdbSeasonSummaryDto'.
@opnshelf/web:typecheck: src/routes/shows/$showId/$showName/seasons.$seasonNumber.episodes.$episodeNumber.tsx(24,21): error TS7006: Parameter 'e' implicitly has an 'any' type.
@opnshelf/web:typecheck:  ELIFECYCLE  Command failed with exit code 2.

Tasks: 1 successful, 2 total
Cached: 0 cached, 2 total
Time: 4.689s
Failed: @opnshelf/web#typecheck

 ELIFECYCLE  Command failed with exit code 2. and should be
re-enabled once these errors are fixed.

+11 -1
+11 -1
.husky/pre-commit
··· 4 4 5 5 git diff --cached --name-only --diff-filter=ACMR -z >"$staged_files" 6 6 7 - # Run linting/formatting only (typecheck has existing errors to fix) 7 + # NOTE: TypeScript typecheck temporarily disabled due to 29 existing errors 8 + # that need router configuration and API updates. Run `pnpm typecheck` manually. 9 + # TODO: Fix remaining type errors and re-enable typecheck before commits. 10 + 11 + # Run type checking (informational only for now) 12 + # pnpm typecheck || { 13 + # rm -f "$staged_files" 14 + # exit 1 15 + # } 16 + 17 + # Run linting/formatting 8 18 pnpm check:write || { 9 19 rm -f "$staged_files" 10 20 exit 1