Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade project to TypeScript #681

Open
wants to merge 119 commits into
base: nfr/ts-major-refactor
Choose a base branch
from

Conversation

ManpreetSL
Copy link
Contributor

@ManpreetSL ManpreetSL commented May 4, 2023

The project currently only uses vanilla JavaScript and React.

This PR upgrades a lot of the project from JavaScript to TypeScript, which will improve the developer experience and make it easier to know what data types are used for all of the various data structures in the code.

ManpreetSL and others added 30 commits July 16, 2023 21:47
The explicit annotation isn't needed because the type is inferred by assignment.
Co-authored-by: Harjot Singh <contact@harjot.me>
Controller/ShabadInfo had issues fetching the shabad property from Line because an outdated Line import was used in the contexts file.
@ManpreetSL ManpreetSL marked this pull request as ready for review November 7, 2023 04:23
@ManpreetSL
Copy link
Contributor Author

ManpreetSL commented Nov 8, 2023

tsc output:

apps/backend/src/content/index.ts(27,5): error TS2339: Property 'setNextShabad' does not exist on type '{ content: Omit<WriteOnlyMutable<Content | null> & { get: () => Content | null; set: (value: Content | null) => void; onChange: (fn: (value: Content | null) => any) => EventEmitter<...>; }, "set">; ... 10 more ...; clearLine: () => void; }'.
apps/backend/src/content/index.ts(28,5): error TS2339: Property 'setPreviousShabad' does not exist on type '{ content: Omit<WriteOnlyMutable<Content | null> & { get: () => Content | null; set: (value: Content | null) => void; onChange: (fn: (value: Content | null) => any) => EventEmitter<...>; }, "set">; ... 10 more ...; clearLine: () => void; }'.
apps/backend/src/content/index.ts(41,75): error TS2345: Argument of type 'RecursiveHelper<ModelObject<Banis>>[]' is not assignable to parameter of type 'Banis[]'.
  Type 'RecursiveHelper<ModelObject<Banis>>' is missing the following properties from type 'Banis': QueryBuilderType, $modelClass, $relatedQuery, $query, and 33 more.
apps/backend/src/content/state.ts(77,22): error TS2532: Object is possibly 'undefined'.
apps/backend/src/content/state.ts(99,26): error TS2532: Object is possibly 'undefined'.
apps/backend/src/content/state.ts(125,20): error TS2488: Type '(Lines & { lineGroup: number; })[] | undefined' must have a '[Symbol.iterator]()' method that returns an iterator.
apps/backend/src/content/state.ts(152,20): error TS2488: Type 'Lines[] | undefined' must have a '[Symbol.iterator]()' method that returns an iterator.
apps/backend/src/error.ts(27,22): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{ EADDRINUSE: () => never; }'.
apps/backend/src/error.ts(27,41): error TS2339: Property 'code' does not exist on type 'Error'.
apps/backend/src/error.ts(35,13): error TS2339: Property 'sendException' does not exist on type '({ settings }: AnalyticsOptions) => { initialise: () => void; sendException: (error: Error) => void; flush: () => Promise<void> | PromiseLike<boolean>; }'.
apps/backend/src/error.ts(38,19): error TS2339: Property 'flush' does not exist on type '({ settings }: AnalyticsOptions) => { initialise: () => void; sendException: (error: Error) => void; flush: () => Promise<void> | PromiseLike<boolean>; }'.
apps/backend/src/history/index.spec.ts(1,1): error TS1208: 'index.spec.ts' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.
apps/backend/src/history/state.ts(22,23): error TS7006: Parameter 'data' implicitly has an 'any' type.
apps/backend/src/history/state.ts(24,3): error TS2532: Object is possibly 'undefined'.
apps/backend/src/history/state.ts(24,9): error TS2339: Property 'reduce' does not exist on type 'string[] | ((t: Date) => string)'.
  Property 'reduce' does not exist on type '(t: Date) => string'.
apps/backend/src/history/state.ts(24,19): error TS7006: Parameter 'curr' implicitly has an 'any' type.
apps/backend/src/history/state.ts(24,25): error TS7006: Parameter 'field' implicitly has an 'any' type.
apps/backend/src/history/state.ts(24,45): error TS2349: This expression is not callable.
  Not all constituents of type 'string[] | ((t: Date) => string) | ((x: Date) => Date)' are callable.
    Type 'string[]' has no call signatures.
apps/backend/src/history/state.ts(60,20): error TS7006: Parameter 'data' implicitly has an 'any' type.
apps/backend/src/history/state.ts(64,36): error TS1170: A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.
apps/backend/src/history/state.ts(64,36): error TS7008: Member '[shabadId]' implicitly has an 'any' type.
apps/backend/src/history/state.ts(64,37): error TS2304: Cannot find name 'shabadId'.
apps/backend/src/history/state.ts(68,20): error TS7006: Parameter 'data' implicitly has an 'any' type.
apps/backend/src/history/state.ts(73,37): error TS2304: Cannot find name 'lastEntry'.
apps/backend/src/history/state.ts(89,5): error TS2304: Cannot find name 'lastEntry'.
apps/backend/src/history/state.ts(92,36): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'.
  No index signature with a parameter of type 'string' was found on type '{}'.
apps/backend/src/history/state.ts(95,5): error TS2304: Cannot find name 'latestLine'.
apps/backend/src/history/state.ts(98,11): error TS2304: Cannot find name 'viewedLines'.
apps/backend/src/history/state.ts(98,38): error TS2304: Cannot find name 'viewedLines'.
apps/backend/src/history/state.ts(99,5): error TS2304: Cannot find name 'viewedLines'.
apps/backend/src/history/state.ts(104,49): error TS2552: Cannot find name 'viewedLines'. Did you mean 'allViewedLines'?
apps/backend/src/history/state.ts(107,5): error TS2304: Cannot find name 'lastEntry'.
apps/backend/src/history/state.ts(111,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'WriteOnlyMutable<unknown>'.
  Property 'set' is missing in type '{}' but required in type 'WriteOnlyMutable<unknown>'.
apps/backend/src/history/state.ts(112,5): error TS2552: Cannot find name 'latestLines'. Did you mean 'lastLines'?
apps/backend/src/index-old.ts(25,36): error TS2307: Cannot find module './services/state' or its corresponding type declarations.
apps/backend/src/index-old.ts(36,36): error TS2554: Expected 1 arguments, but got 0.
apps/backend/src/index-old.ts(37,50): error TS2559: Type 'false' has no properties in common with type 'HandlerErrorOptions'.
apps/backend/src/index-old.ts(39,36): error TS2345: Argument of type '{ socketServer: Omit<ConnectionEventsServer<SocketClient> & BroadcastServer<SocketClient> & EventsServer<SocketClient> & WebSocket.Server<...>, "onConnection">; }' is not assignable to parameter of type 'SettingsModuleOptions'.
  Property 'globalSettings' is missing in type '{ socketServer: Omit<ConnectionEventsServer<SocketClient> & BroadcastServer<SocketClient> & EventsServer<SocketClient> & WebSocket.Server<...>, "onConnection">; }' but required in type 'SettingsModuleOptions'.
apps/backend/src/index-old.ts(39,38): error TS2448: Block-scoped variable 'socketServer' used before its declaration.
apps/backend/src/index-old.ts(39,38): error TS2454: Variable 'socketServer' is used before being assigned.
apps/backend/src/index-old.ts(43,18): error TS2339: Property 'load' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(46,36): error TS2345: Argument of type '{ tempFolder: string; interval: number; }' is not assignable to parameter of type 'UpdaterOptions'.
  Property 'globalSettings' is missing in type '{ tempFolder: string; interval: number; }' but required in type 'UpdaterOptions'.
apps/backend/src/index-old.ts(57,98): error TS2339: Property 'get' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(58,86): error TS2339: Property 'get' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(60,96): error TS2339: Property 'get' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(61,100): error TS2339: Property 'get' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(70,8): error TS2304: Cannot find name 'Mount'.
apps/backend/src/index-old.ts(85,19): error TS2339: Property 'get' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(87,40): error TS2345: Argument of type '"banis:current"' is not assignable to parameter of type '"settings:all" | "content:current" | "content:bookmark:list" | "content:line:current" | "content:tracker:main-line" | "content:tracker:next-line" | "history:viewed-lines" | "status" | "history:transitions" | "history:latest-lines" | "search:results"'.
apps/backend/src/index-old.ts(88,27): error TS2345: Argument of type '"shabads:current"' is not assignable to parameter of type '"settings:all" | "content:current" | "content:bookmark:list" | "content:line:current" | "content:tracker:main-line" | "content:tracker:next-line" | "history:viewed-lines" | "status" | "history:transitions" | "history:latest-lines" | "search:results"'.
apps/backend/src/index-old.ts(89,57): error TS2345: Argument of type '"banis:list"' is not assignable to parameter of type '"settings:all" | "content:current" | "content:bookmark:list" | "content:line:current" | "content:tracker:main-line" | "content:tracker:next-line" | "history:viewed-lines" | "status" | "history:transitions" | "history:latest-lines" | "search:results"'.
apps/backend/src/index-old.ts(90,22): error TS2345: Argument of type '"lines:current"' is not assignable to parameter of type '"settings:all" | "content:current" | "content:bookmark:list" | "content:line:current" | "content:tracker:main-line" | "content:tracker:next-line" | "history:viewed-lines" | "status" | "history:transitions" | "history:latest-lines" | "search:results"'.
apps/backend/src/index-old.ts(92,22): error TS2345: Argument of type '"lines:main"' is not assignable to parameter of type '"settings:all" | "content:current" | "content:bookmark:list" | "content:line:current" | "content:tracker:main-line" | "content:tracker:next-line" | "history:viewed-lines" | "status" | "history:transitions" | "history:latest-lines" | "search:results"'.
apps/backend/src/index-old.ts(93,22): error TS2345: Argument of type '"lines:next"' is not assignable to parameter of type '"settings:all" | "content:current" | "content:bookmark:list" | "content:line:current" | "content:tracker:main-line" | "content:tracker:next-line" | "history:viewed-lines" | "status" | "history:transitions" | "history:latest-lines" | "search:results"'.
apps/backend/src/index-old.ts(99,57): error TS2304: Cannot find name 'Socket'.
apps/backend/src/index-old.ts(100,35): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(101,33): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(102,30): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(103,30): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(104,33): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(105,33): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(106,32): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(112,19): error TS2339: Property 'get' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(117,7): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(117,27): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(117,51): error TS2304: Cannot find name 'omit'.
apps/backend/src/index-old.ts(117,57): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(126,13): error TS2339: Property 'initialise' does not exist on type '({ settings }: AnalyticsOptions) => { initialise: () => void; sendException: (error: Error) => void; flush: () => Promise<void> | PromiseLike<boolean>; }'.
apps/backend/src/index-old.ts(129,37): error TS2554: Expected 0 arguments, but got 2.
apps/backend/src/index-old.ts(130,46): error TS2740: Type '{ api: Express; httpServer: Server; listen: () => Server; }' is missing the following properties from type 'Server': setTimeout, maxHeadersCount, maxRequestsPerSocket, timeout, and 26 more.
apps/backend/src/index-old.ts(132,25): error TS2345: Argument of type '{ socketServer: Omit<ConnectionEventsServer<SocketClient> & BroadcastServer<SocketClient> & EventsServer<SocketClient> & WebSocket.Server<...>, "onConnection">; }' is not assignable to parameter of type 'SettingsModuleOptions'.
  Property 'globalSettings' is missing in type '{ socketServer: Omit<ConnectionEventsServer<SocketClient> & BroadcastServer<SocketClient> & EventsServer<SocketClient> & WebSocket.Server<...>, "onConnection">; }' but required in type 'SettingsModuleOptions'.
apps/backend/src/index-old.ts(138,39): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(139,37): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(140,34): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(141,34): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(142,37): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(143,37): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(144,36): error TS2532: Object is possibly 'undefined'.
apps/backend/src/index-old.ts(148,28): error TS7006: Parameter 'id' implicitly has an 'any' type.
apps/backend/src/index-old.ts(159,16): error TS2339: Property 'onConnection' does not exist on type 'Omit<ConnectionEventsServer<SocketClient> & BroadcastServer<SocketClient> & EventsServer<SocketClient> & Server<...>, "onConnection">'.
apps/backend/src/index-old.ts(159,32): error TS7006: Parameter 'client' implicitly has an 'any' type.
apps/backend/src/index-old.ts(161,12): error TS2339: Property 'onChange' does not exist on type '{ getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<WriteOnlyMutable<ManyClientSettings> & { ...; }, "set">; }'.
apps/backend/src/index-old.ts(161,24): error TS7006: Parameter 'settings' implicitly has an 'any' type.
apps/backend/src/index-old.ts(168,30): error TS2554: Expected 1 arguments, but got 0.
apps/backend/src/search/index.ts(16,127): error TS2345: Argument of type 'RecursiveHelper<ModelObject<Lines>>[]' is not assignable to parameter of type 'Simplify<Except<Lines, "translations" | "transliterations"> & { translations?: Translations[] | undefined; transliterations?: Transliterations[] | undefined; }>[]'.
  Type 'RecursiveHelper<ModelObject<Lines>>' is missing the following properties from type 'Simplify<Except<Lines, "translations" | "transliterations"> & { translations?: Translations[] | undefined; transliterations?: Transliterations[] | undefined; }>': QueryBuilderType, $modelClass, $relatedQuery, $query, and 33 more.
apps/backend/src/services/analytics.ts(17,28): error TS2304: Cannot find name 'globalSettings'.
apps/backend/src/services/analytics.ts(27,35): error TS2304: Cannot find name 'globalSettings'.
apps/backend/src/services/database.ts(93,37): error TS2769: No overload matches this call.
  Overload 1 of 3, '(callbackfn: (previousValue: [string, TranslationSources[]], currentValue: [string, TranslationSources[]], currentIndex: number, array: [string, TranslationSources[]][]) => [...], initialValue: [...]): [...]', gave the following error.
    Type '{ [x: string]: TranslationSources | RecursiveHelper<Objection.ModelObject<TranslationSources>>; }' is not assignable to type '[string, TranslationSources[]]'.
  Overload 2 of 3, '(callbackfn: (previousValue: Record<string, RecursiveHelper<ModelObject<TranslationSources>>>, currentValue: [string, TranslationSources[]], currentIndex: number, array: [...][]) => Record<...>, initialValue: Record<...>): Record<...>', gave the following error.
    Type '{ [x: string]: TranslationSources | RecursiveHelper<Objection.ModelObject<TranslationSources>>; }' is not assignable to type 'Record<string, RecursiveHelper<ModelObject<TranslationSources>>>'.
      'string' index signatures are incompatible.
        Type 'TranslationSources | RecursiveHelper<ModelObject<TranslationSources>>' is not assignable to type 'RecursiveHelper<ModelObject<TranslationSources>>'.
          Type 'TranslationSources' is not assignable to type 'RecursiveHelper<ModelObject<TranslationSources>>'.
            Types of property 'translations' are incompatible.
              Type 'Translations[] | undefined' is not assignable to type 'RecursiveHelper<ModelObject<Translations>>[] | undefined'.
                Type 'Translations[]' is not assignable to type 'RecursiveHelper<ModelObject<Translations>>[]'.
                  Type 'Translations' is not assignable to type 'RecursiveHelper<ModelObject<Translations>>'.
                    Property 'translationSource' is optional in type 'Translations' but required in type 'RecursiveHelper<ModelObject<Translations>>'.
apps/backend/src/services/database.ts(104,5): error TS2769: No overload matches this call.
  Overload 1 of 3, '(callbackfn: (previousValue: RecursiveHelper<ModelObject<Sources>>, currentValue: RecursiveHelper<ModelObject<Sources>>, currentIndex: number, array: RecursiveHelper<...>[]) => RecursiveHelper<...>, initialValue: RecursiveHelper<...>): RecursiveHelper<...>', gave the following error.
    Argument of type '<Result>(acc: Result, { translationSources, id, ...source }: Source) => Result & { [x: number]: { translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType: Objection.QueryBuilder<...>; }; }' is not assignable to parameter of type '(previousValue: RecursiveHelper<ModelObject<Sources>>, currentValue: RecursiveHelper<ModelObject<Sources>>, currentIndex: number, array: RecursiveHelper<...>[]) => RecursiveHelper<...>'.
      Types of parameters '__1' and 'currentValue' are incompatible.
        Type 'RecursiveHelper<ModelObject<Sources>>' is missing the following properties from type 'Simplify<Except<Sources, "translationSources"> & { translationSources?: TranslationSources[] | undefined; }>': $modelClass, $relatedQuery, $query, $id, and 33 more.
  Overload 2 of 3, '(callbackfn: (previousValue: { [x: number]: { translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType: QueryBuilder<...>; }; }, currentValue: RecursiveHelper<...>, currentIndex: number, array: RecursiveHelper<...>[]) => { ...; }, initialValue: { ...; }): { ...; }', gave the following error.
    Argument of type '<Result>(acc: Result, { translationSources, id, ...source }: Source) => Result & { [x: number]: { translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType: Objection.QueryBuilder<...>; }; }' is not assignable to parameter of type '(previousValue: { [x: number]: { translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType: QueryBuilder<...>; }; }, currentValue: RecursiveHelper<...>, currentIndex: number, array: RecursiveHelper<...>[]) => { ...'.
      Types of parameters '__1' and 'currentValue' are incompatible.
        Type 'RecursiveHelper<ModelObject<Sources>>' is not assignable to type 'Simplify<Except<Sources, "translationSources"> & { translationSources?: TranslationSources[] | undefined; }>'.
apps/backend/src/services/database.ts(111,16): error TS2769: No overload matches this call.
  Overload 1 of 3, '(callbackfn: (previousValue: [string, string | number | RecursiveHelper<ModelObject<Shabads>>[] | RecursiveHelper<ModelObject<Sections>>[] | RecursiveHelper<...>[] | undefined], currentValue: [...], currentIndex: number, array: [...][]) => [...], initialValue: [...]): [...]', gave the following error.
    Argument of type '<Result>(acc: Result, [id, { translationSources, ...source },]: [string, ReturnType<typeof groupTranslationSources>[number]]) => Result & { [x: string]: { translationSources: [string, TranslationSources[]]; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType:...' is not assignable to parameter of type '(previousValue: [string, string | number | RecursiveHelper<ModelObject<Shabads>>[] | RecursiveHelper<ModelObject<Sections>>[] | RecursiveHelper<...>[] | undefined], currentValue: [...], currentIndex: number, array: [...][]) => [...]'.
      Types of parameters '__1' and 'currentValue' are incompatible.
        Type '[string, string | number | RecursiveHelper<ModelObject<Shabads>>[] | RecursiveHelper<ModelObject<Sections>>[] | RecursiveHelper<...>[] | undefined]' is not assignable to type '[string, { translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType: QueryBuilder<...>; }]'.
          Type at position 1 in source is not compatible with type at position 1 in target.
            Type 'string | number | RecursiveHelper<ModelObject<Shabads>>[] | RecursiveHelper<ModelObject<Sections>>[] | RecursiveHelper<...>[] | undefined' is not assignable to type '{ translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; sections?: Sections[] | undefined; ... 36 more ...; QueryBuilderType: Objection.QueryBuilder<...>; }'.
              Type 'undefined' is not assignable to type '{ translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; sections?: Sections[] | undefined; ... 36 more ...; QueryBuilderType: Objection.QueryBuilder<...>; }'.
  Overload 2 of 3, '(callbackfn: (previousValue: { [x: string]: { translationSources: [string, TranslationSources[]]; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; sections?: Sections[] | undefined; ... 36 more ...; QueryBuilderType: QueryBuilder<...>; }; }, currentValue: [...], currentIndex: number, array: [...][]) => { ...; }, initialValue: { ...; }): { ...; }', gave the following error.
    Argument of type '<Result>(acc: Result, [id, { translationSources, ...source },]: [string, ReturnType<typeof groupTranslationSources>[number]]) => Result & { [x: string]: { translationSources: [string, TranslationSources[]]; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType:...' is not assignable to parameter of type '(previousValue: { [x: string]: { translationSources: [string, TranslationSources[]]; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; sections?: Sections[] | undefined; ... 36 more ...; QueryBuilderType: QueryBuilder<...>; }; }, currentValue: [...], currentIndex: number, array: [...][]) =>...'.
      Types of parameters '__1' and 'currentValue' are incompatible.
        Type '[string, string | number | RecursiveHelper<ModelObject<Shabads>>[] | RecursiveHelper<ModelObject<Sections>>[] | RecursiveHelper<...>[] | undefined]' is not assignable to type '[string, { translationSources: Dictionary<TranslationSources[]>; nameGurmukhi: string; nameEnglish: string; shabads?: Shabads[] | undefined; ... 37 more ...; QueryBuilderType: QueryBuilder<...>; }]'.
apps/backend/src/services/zoom.ts(4,69): error TS2307: Cannot find module '@shabados/frontend/src/lib/data' or its corresponding type declarations.
apps/backend/src/services/zoom.ts(5,68): error TS2307: Cannot find module '@shabados/frontend/src/lib/line' or its corresponding type declarations.
apps/backend/src/services/zoom.ts(14,28): error TS7006: Parameter 'data' implicitly has an 'any' type.
apps/backend/src/services/zoom.ts(14,34): error TS7006: Parameter 'sorter' implicitly has an 'any' type.
apps/backend/src/services/zoom.ts(43,16): error TS2339: Property 'get' does not exist on type '({ socketServer, globalSettings }: SettingsModuleOptions) => { getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<...>; }'.
apps/backend/src/services/zoom.ts(81,34): error TS2339: Property 'get' does not exist on type '({ socketServer, globalSettings }: SettingsModuleOptions) => { getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<...>; }'.
apps/backend/src/services/zoom.ts(86,51): error TS2345: Argument of type 'undefined' is not assignable to parameter of type '{ sources: RecursiveHelper<Objection.ModelObject<Sources>>; recommendedSources: [string, string | number | RecursiveHelper<Objection.ModelObject<Shabads>>[] | RecursiveHelper<...>[] | RecursiveHelper<...>[] | undefined]; }'.
apps/backend/src/services/zoom.ts(88,12): error TS2339: Property 'onChange' does not exist on type '({ socketServer, globalSettings }: SettingsModuleOptions) => { getClientSettings: (id: string) => Settings; setSettings: (id: string, { local, global, clients }: Partial<Settings>) => void; publicSettings: Omit<...>; }'.
apps/backend/src/services/zoom.ts(89,23): error TS7031: Binding element 'zoomApiToken' implicitly has an 'any' type.
apps/electron/src/electron-wrapper.ts(8,25): error TS2307: Cannot find module '../../../app/package.json' or its corresponding type declarations.
apps/electron/src/electron-wrapper.ts(9,22): error TS2307: Cannot find module './browser/menu' or its corresponding type declarations.
apps/electron/src/electron-wrapper.ts(10,145): error TS2307: Cannot find module './browser/window' or its corresponding type declarations.
apps/electron/src/electron-wrapper.ts(11,10): error TS2305: Module '"./services/updater"' has no exported member 'checkUpdates'.
apps/electron/src/electron-wrapper.ts(11,24): error TS2305: Module '"./services/updater"' has no exported member 'initUpdates'.
apps/electron/src/electron-wrapper.ts(11,37): error TS2305: Module '"./services/updater"' has no exported member 'setBeta'.
apps/electron/src/electron-wrapper.ts(15,5): error TS7034: Variable 'splashScreen' implicitly has type 'any' in some locations where its type cannot be determined.
apps/electron/src/electron-wrapper.ts(29,30): error TS7031: Binding element 'system' implicitly has an 'any' type.
apps/electron/src/electron-wrapper.ts(31,51): error TS2571: Object is of type 'unknown'.
apps/electron/src/electron-wrapper.ts(32,5): error TS2571: Object is of type 'unknown'.
apps/electron/src/electron-wrapper.ts(46,5): error TS2304: Cannot find name 'onServerReady'.
apps/electron/src/electron-wrapper.ts(66,21): error TS7006: Parameter 'server' implicitly has an 'any' type.
apps/electron/src/electron-wrapper.ts(67,28): error TS7031: Binding element 'url' implicitly has an 'any' type.
apps/electron/src/electron-wrapper.ts(82,41): error TS7005: Variable 'splashScreen' implicitly has an 'any' type.
apps/electron/src/electron-wrapper.ts(86,30): error TS2345: Argument of type '({ system }: { system: any; }) => void' is not assignable to parameter of type '(payload: undefined) => any'.
  Types of parameters '__0' and 'payload' are incompatible.
    Type 'undefined' is not assignable to type '{ system: any; }'.
apps/electron/src/index.ts(20,24): error TS7006: Parameter 'server' implicitly has an 'any' type.
apps/electron/src/menu.ts(65,40): error TS2345: Argument of type '({ label: string; submenu: ({ role: string; type?: undefined; } | { type: string; role?: undefined; })[]; role?: undefined; } | { role: string; submenu: ({ role: string; type?: undefined; } | { type: string; role?: undefined; })[]; label?: undefined; } | { ...; })[]' is not assignable to parameter of type '(MenuItemConstructorOptions | MenuItem)[]'.
  Type '{ label: string; submenu: ({ role: string; type?: undefined; } | { type: string; role?: undefined; })[]; role?: undefined; } | { role: string; submenu: ({ role: string; type?: undefined; } | { type: string; role?: undefined; })[]; label?: undefined; } | { ...; }' is not assignable to type 'MenuItemConstructorOptions | MenuItem'.
    Type '{ label: string; submenu: ({ role: string; type?: undefined; } | { type: string; role?: undefined; })[]; role?: undefined; }' is not assignable to type 'MenuItemConstructorOptions | MenuItem'.
      Type '{ label: string; submenu: ({ role: string; type?: undefined; } | { type: string; role?: undefined; })[]; role?: undefined; }' is missing the following properties from type 'MenuItem': checked, click, commandId, enabled, and 9 more.
apps/electron/src/window.ts(6,29): error TS2307: Cannot find module '../../../app/helpers/consts' or its corresponding type declarations.
apps/electron/src/window.ts(11,5): error TS7034: Variable 'mainWindow' implicitly has type 'any' in some locations where its type cannot be determined.
apps/electron/src/window.ts(16,28): error TS7006: Parameter 'window' implicitly has an 'any' type.
apps/electron/src/window.ts(19,31): error TS7006: Parameter 'url' implicitly has an 'any' type.
apps/electron/src/window.ts(19,36): error TS7006: Parameter 'windowParams' implicitly has an 'any' type.
apps/electron/src/window.ts(31,19): error TS2554: Expected 0 arguments, but got 1.
apps/electron/src/window.ts(49,44): error TS2345: Argument of type '(window: any) => any' is not assignable to parameter of type '() => void'.
apps/electron/src/window.ts(51,41): error TS7005: Variable 'mainWindow' implicitly has an 'any' type.
apps/electron/src/window.ts(59,54): error TS2345: Argument of type '(window: any) => any' is not assignable to parameter of type '() => void'.
apps/electron/src/window.ts(71,32): error TS7005: Variable 'mainWindow' implicitly has an 'any' type.
apps/electron/src/window.ts(72,33): error TS2571: Object is of type 'unknown'.
apps/electron/src/window.ts(74,36): error TS7005: Variable 'mainWindow' implicitly has an 'any' type.
apps/frontend/src/App.tsx(18,8): error TS6142: Module './lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/App.tsx(22,21): error TS6142: Module './Overlay' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Overlay/index.tsx', but '--jsx' is not set.
apps/frontend/src/App.tsx(23,20): error TS6142: Module './shared/Loader' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/Loader.tsx', but '--jsx' is not set.
apps/frontend/src/App.tsx(25,42): error TS6142: Module './ScreenReader' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/ScreenReader/index.tsx', but '--jsx' is not set.
apps/frontend/src/App.tsx(26,39): error TS6142: Module './Presenter' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Presenter/index.tsx', but '--jsx' is not set.
apps/frontend/src/App.tsx(27,38): error TS6142: Module './Settings' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/index.tsx', but '--jsx' is not set.
apps/frontend/src/App.tsx(79,9): error TS2322: Type '{ [id: string]: RecursiveHelper<ModelObject<TranslationSources>>; }' is not assignable to type '{ [id: number]: Simplify<Except<Sources, "translationSources"> & { translationSources?: TranslationSources[] | undefined; }>; }'.
  'string' and 'number' index signatures are incompatible.
    Type 'RecursiveHelper<ModelObject<TranslationSources>>' is missing the following properties from type 'Simplify<Except<Sources, "translationSources"> & { translationSources?: TranslationSources[] | undefined; }>': $modelClass, $relatedQuery, $query, $id, and 33 more.
apps/frontend/src/App.tsx(187,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/App.tsx(193,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/App.tsx(194,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/App.tsx(194,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/App.tsx(195,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/App.tsx(196,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/App.tsx(198,17): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/App.tsx(198,56): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Bookmarks.tsx(6,34): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Bookmarks.tsx(9,39): error TS6142: Module '../shared/NavigationHotkeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/NavigationHotkeys.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Bookmarks.tsx(20,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Bookmarks.tsx(22,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Bookmarks.tsx(28,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Bookmarks.tsx(29,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Bookmarks.tsx(39,6): error TS2345: Argument of type '({ register, focused }: BookmarkProps) => JSX.Element' is not assignable to parameter of type 'Component<{}, {}, any>'.
apps/frontend/src/Controller/History.tsx(15,32): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/History.tsx(18,39): error TS6142: Module '../shared/NavigationHotkeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/NavigationHotkeys.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/History.tsx(29,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(33,11): error TS2339: Property 'timestamp' does not exist on type 'Number'.
apps/frontend/src/Controller/History.tsx(34,11): error TS2339: Property 'line' does not exist on type 'Number'.
apps/frontend/src/Controller/History.tsx(35,11): error TS2339: Property 'bani' does not exist on type 'Number'.
apps/frontend/src/Controller/History.tsx(36,11): error TS2339: Property 'shabad' does not exist on type 'Number'.
apps/frontend/src/Controller/History.tsx(39,40): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'.
apps/frontend/src/Controller/History.tsx(46,34): error TS2345: Argument of type '{ shabadId: any; lineId: any; }' is not assignable to parameter of type 'ShabadOptions'.
  Type '{ shabadId: any; lineId: any; }' is missing the following properties from type 'ShabadOptions': shabadOrderId, lineOrderId
apps/frontend/src/Controller/History.tsx(49,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(52,48): error TS2345: Argument of type 'HTMLLIElement | null' is not assignable to parameter of type 'HTMLElement'.
  Type 'null' is not assignable to type 'HTMLElement'.
apps/frontend/src/Controller/History.tsx(55,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(56,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(57,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(64,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(65,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(66,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(71,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(72,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(73,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/History.tsx(84,6): error TS2345: Argument of type '({ register, focused }: HistoryProps) => JSX.Element' is not assignable to parameter of type 'Component<{}, {}, any>'.
apps/frontend/src/Controller/index.tsx(31,49): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/index.tsx(35,23): error TS6142: Module './Bookmarks' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/Bookmarks.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/index.tsx(36,21): error TS6142: Module './History' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/History.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/index.tsx(37,48): error TS6142: Module './Navigator' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/Navigator.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/index.tsx(38,20): error TS6142: Module './Search' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/Search/index.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/index.tsx(39,27): error TS6142: Module './ToolbarButton' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/ToolbarButton.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/index.tsx(63,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(64,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(67,35): error TS2554: Expected 2 arguments, but got 1.
apps/frontend/src/Controller/index.tsx(71,7): error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: { component: ElementType<any>; } & SystemProps<Theme> & { align?: "center" | "inherit" | "right" | "left" | "justify" | undefined; children?: ReactNode; ... 6 more ...; variantMapping?: Partial<...> | undefined; } & CommonProps & Omit<...>): Element', gave the following error.
    Property 'component' is missing in type '{ children: string; className: string; type: string; }' but required in type '{ component: ElementType<any>; }'.
  Overload 2 of 2, '(props: DefaultComponentProps<TypographyTypeMap<{}, "span">>): Element', gave the following error.
    Type '{ children: string; className: string; type: string; }' is not assignable to type 'IntrinsicAttributes & SystemProps<Theme> & { align?: "center" | "inherit" | "right" | "left" | "justify" | undefined; children?: ReactNode; ... 6 more ...; variantMapping?: Partial<...> | undefined; } & CommonProps & Omit<...>'.
      Property 'type' does not exist on type 'IntrinsicAttributes & SystemProps<Theme> & { align?: "center" | "inherit" | "right" | "left" | "justify" | undefined; children?: ReactNode; ... 6 more ...; variantMapping?: Partial<...> | undefined; } & CommonProps & Omit<...>'.
apps/frontend/src/Controller/index.tsx(71,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(72,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(80,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(83,11): error TS2322: Type '{ name: string; icon: IconDefinition; flip: string; onClick: () => void; onMouseEnter: () => Record<string, any>; onMouseLeave: () => Record<string, any>; }' is not assignable to type 'IntrinsicAttributes & ToolbarButtonProps'.
  Property 'flip' does not exist on type 'IntrinsicAttributes & ToolbarButtonProps'.
apps/frontend/src/Controller/index.tsx(92,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(102,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(140,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(141,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(141,79): error TS2322: Type '{ name: string; icon: IconDefinition; onClick: () => void; onHover: OnHover; }' is not assignable to type 'IntrinsicAttributes & ToolbarButtonProps'.
  Property 'onHover' does not exist on type 'IntrinsicAttributes & ToolbarButtonProps'.
apps/frontend/src/Controller/index.tsx(142,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(149,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(156,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(158,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(166,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(180,22): error TS7006: Parameter 'props' implicitly has an 'any' type.
apps/frontend/src/Controller/index.tsx(196,32): error TS2339: Property 'listen' does not exist on type 'History'.
apps/frontend/src/Controller/index.tsx(196,44): error TS7031: Binding element 'pathname' implicitly has an 'any' type.
apps/frontend/src/Controller/index.tsx(196,54): error TS7031: Binding element 'search' implicitly has an 'any' type.
apps/frontend/src/Controller/index.tsx(223,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(223,43): error TS2339: Property 'id' does not exist on type 'Simplify<Except<Shabads, "lines" | "section"> & { lines?: Lines[] | undefined; section?: Sections | undefined; }> | Simplify<Except<Banis, "lines"> & { ...; }> | {}'.
  Property 'id' does not exist on type 'Simplify<Except<Banis, "lines"> & { lines?: (Lines & { lineGroup: number; })[] | undefined; }>'.
apps/frontend/src/Controller/index.tsx(225,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(226,11): error TS2322: Type 'string | ForwardRefExoticComponent<RefAttributes<unknown>> | (({ onHover }: BarProps) => Element | null)' is not assignable to type 'Key | null | undefined'.
  Type 'ForwardRefExoticComponent<RefAttributes<unknown>>' is not assignable to type 'Key | null | undefined'.
apps/frontend/src/Controller/index.tsx(227,11): error TS2322: Type 'string | ForwardRefExoticComponent<RefAttributes<unknown>> | (({ onHover }: BarProps) => Element | null)' is not assignable to type 'string'.
  Type 'ForwardRefExoticComponent<RefAttributes<unknown>>' is not assignable to type 'string'.
apps/frontend/src/Controller/index.tsx(229,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(230,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(231,41): error TS2339: Property 'split' does not exist on type 'string | ForwardRefExoticComponent<RefAttributes<unknown>> | (({ onHover }: BarProps) => Element | null)'.
  Property 'split' does not exist on type 'ForwardRefExoticComponent<RefAttributes<unknown>>'.
apps/frontend/src/Controller/index.tsx(232,17): error TS2322: Type 'Dispatch<SetStateAction<null>>' is not assignable to type 'OnHover'.
  Types of parameters 'value' and 'message' are incompatible.
    Type 'string | null' is not assignable to type 'SetStateAction<null>'.
      Type 'string' is not assignable to type 'SetStateAction<null>'.
apps/frontend/src/Controller/index.tsx(235,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(236,17): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(236,18): error TS2741: Property 'onHover' is missing in type '{}' but required in type 'BarProps'.
apps/frontend/src/Controller/index.tsx(239,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(243,19): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(254,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/index.tsx(254,23): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(24,48): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Navigator.tsx(29,27): error TS6142: Module '../shared/GlobalHotKeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/GlobalHotKeys.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Navigator.tsx(30,39): error TS6142: Module '../shared/NavigationHotkeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/NavigationHotkeys.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Navigator.tsx(31,30): error TS6142: Module '../shared/NavigatorHotkeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/NavigatorHotkeys.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Navigator.tsx(32,24): error TS6142: Module './ShabadInfo' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/ShabadInfo.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Navigator.tsx(33,27): error TS6142: Module './ToolbarButton' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/ToolbarButton.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Navigator.tsx(36,15): error TS7006: Parameter 'id' implicitly has an 'any' type.
apps/frontend/src/Controller/Navigator.tsx(36,19): error TS7006: Parameter 'line' implicitly has an 'any' type.
apps/frontend/src/Controller/Navigator.tsx(66,26): error TS7006: Parameter 'line' implicitly has an 'any' type.
apps/frontend/src/Controller/Navigator.tsx(66,56): error TS2554: Expected 2 arguments, but got 3.
apps/frontend/src/Controller/Navigator.tsx(69,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(76,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(78,18): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(79,18): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(82,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(84,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(86,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(88,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(114,33): error TS2339: Property 'mainLineId' does not exist on type 'Content'.
apps/frontend/src/Controller/Navigator.tsx(119,35): error TS2554: Expected 0 arguments, but got 2.
apps/frontend/src/Controller/Navigator.tsx(121,36): error TS7006: Parameter 'index' implicitly has an 'any' type.
apps/frontend/src/Controller/Navigator.tsx(123,18): error TS2554: Expected 0 arguments, but got 1.
apps/frontend/src/Controller/Navigator.tsx(140,31): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(143,39): error TS2345: Argument of type 'Content' is not assignable to parameter of type '{ nextLineId: any; shabad: any; bani: any; lineId: any; }'.
  Property 'nextLineId' is missing in type 'Content' but required in type '{ nextLineId: any; shabad: any; bani: any; lineId: any; }'.
apps/frontend/src/Controller/Navigator.tsx(146,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(146,6): error TS2322: Type '{ children: Element; keyMap: {}; handlers: {}; }' is not assignable to type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
  Property 'children' does not exist on type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
apps/frontend/src/Controller/Navigator.tsx(147,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(149,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(155,35): error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'.
apps/frontend/src/Controller/Navigator.tsx(157,24): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'.
  No index signature with a parameter of type 'string' was found on type '{}'.
apps/frontend/src/Controller/Navigator.tsx(170,3): error TS2739: Type '{ first: null; last: null; }' is missing the following properties from type 'Keymap': next, previous
apps/frontend/src/Controller/Navigator.tsx(174,6): error TS2345: Argument of type '({ updateFocus, register, focused, }: NavigatorProps) => JSX.Element' is not assignable to parameter of type 'Component<{}, {}, any>'.
apps/frontend/src/Controller/Navigator.tsx(177,35): error TS7006: Parameter 'props' implicitly has an 'any' type.
apps/frontend/src/Controller/Navigator.tsx(178,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(179,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(196,33): error TS2339: Property 'mainLineId' does not exist on type 'Content'.
apps/frontend/src/Controller/Navigator.tsx(214,34): error TS2531: Object is possibly 'null'.
apps/frontend/src/Controller/Navigator.tsx(227,30): error TS2531: Object is possibly 'null'.
apps/frontend/src/Controller/Navigator.tsx(259,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(260,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(269,23): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(271,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Navigator.tsx(280,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(17,33): error TS6142: Module '../../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Search/index.tsx(20,39): error TS6142: Module '../../shared/NavigationHotkeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/NavigationHotkeys.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Search/index.tsx(22,20): error TS6142: Module './Result' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/Search/Result.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Search/index.tsx(27,27): error TS7006: Parameter 'searchQuery' implicitly has an 'any' type.
apps/frontend/src/Controller/Search/index.tsx(36,17): error TS2367: This condition will always return 'false' since the types '"full-word"' and '"first-letter"' have no overlap.
apps/frontend/src/Controller/Search/index.tsx(56,13): error TS2525: Initializer provides no value for this binding element and the binding element has no default value.
apps/frontend/src/Controller/Search/index.tsx(84,36): error TS7006: Parameter 'results' implicitly has an 'any' type.
apps/frontend/src/Controller/Search/index.tsx(88,5): error TS2722: Cannot invoke an object which is possibly 'undefined'.
apps/frontend/src/Controller/Search/index.tsx(88,18): error TS2554: Expected 0 arguments, but got 1.
apps/frontend/src/Controller/Search/index.tsx(96,47): error TS7031: Binding element 'value' implicitly has an 'any' type.
apps/frontend/src/Controller/Search/index.tsx(126,29): error TS7006: Parameter 'event' implicitly has an 'any' type.
apps/frontend/src/Controller/Search/index.tsx(132,23): error TS7031: Binding element 'target' implicitly has an 'any' type.
apps/frontend/src/Controller/Search/index.tsx(137,33): error TS2531: Object is possibly 'null'.
apps/frontend/src/Controller/Search/index.tsx(139,14): error TS2345: Argument of type '() => () => Controller' is not assignable to parameter of type 'EffectCallback'.
  Type '() => Controller' is not assignable to type 'void | Destructor'.
    Type '() => Controller' is not assignable to type 'Destructor'.
      Type 'Controller' is not assignable to type 'void | { [UNDEFINED_VOID_ONLY]: never; }'.
apps/frontend/src/Controller/Search/index.tsx(161,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(162,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(174,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(174,12): error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: { component: ElementType<any>; } & { classes?: Partial<InputAdornmentClasses> | undefined; children?: ReactNode; disablePointerEvents?: boolean | undefined; disableTypography?: boolean | undefined; position: "end" | "start"; sx?: SxProps<...> | undefined; variant?: "standard" | ... 2 more ... | undefined; } & CommonProps & Omit<...>): Element', gave the following error.
    Property 'component' is missing in type '{ children: Element; }' but required in type '{ component: ElementType<any>; }'.
  Overload 2 of 2, '(props: DefaultComponentProps<InputAdornmentTypeMap<{}, "div">>): Element', gave the following error.
    Property 'position' is missing in type '{ children: Element; }' but required in type '{ classes?: Partial<InputAdornmentClasses> | undefined; children?: ReactNode; disablePointerEvents?: boolean | undefined; disableTypography?: boolean | undefined; position: "end" | "start"; sx?: SxProps<...> | undefined; variant?: "standard" | ... 2 more ... | undefined; }'.
apps/frontend/src/Controller/Search/index.tsx(175,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(180,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(192,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(194,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/index.tsx(195,17): error TS2698: Spread types may only be created from object types.
apps/frontend/src/Controller/Search/index.tsx(196,25): error TS2339: Property 'id' does not exist on type 'never'.
apps/frontend/src/Controller/Search/index.tsx(197,29): error TS2722: Cannot invoke an object which is possibly 'undefined'.
apps/frontend/src/Controller/Search/index.tsx(197,39): error TS2554: Expected 0 arguments, but got 2.
apps/frontend/src/Controller/Search/index.tsx(214,6): error TS2345: Argument of type '({ updateFocus, register, focused }: SearchProps) => JSX.Element' is not assignable to parameter of type 'Component<{}, {}, any>'.
apps/frontend/src/Controller/Search/Result.tsx(5,76): error TS6142: Module '../../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/Search/Result.tsx(50,5): error TS2525: Initializer provides no value for this binding element and the binding element has no default value.
apps/frontend/src/Controller/Search/Result.tsx(51,13): error TS2525: Initializer provides no value for this binding element and the binding element has no default value.
apps/frontend/src/Controller/Search/Result.tsx(68,5): error TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'.
  Type 'null' is not assignable to type 'string'.
apps/frontend/src/Controller/Search/Result.tsx(69,15): error TS2322: Type '{ [translation: string]: string; }[]' is not assignable to type 'Translations[]'.
  Type '{ [translation: string]: string; }' is missing the following properties from type 'Translations': lineId, translationSourceId, translation, additionalInformation, and 37 more.
apps/frontend/src/Controller/Search/Result.tsx(70,7): error TS2740: Type '{ sourceId: number; }' is missing the following properties from type 'Simplify<Except<Shabads, "lines" | "section"> & { lines?: Lines[] | undefined; section?: Sections | undefined; }>': QueryBuilderType, id, writerId, sectionId, and 39 more.
apps/frontend/src/Controller/Search/Result.tsx(84,44): error TS2345: Argument of type '{ shabadId: string; lineId: string; }' is not assignable to parameter of type 'ShabadOptions'.
  Type '{ shabadId: string; lineId: string; }' is missing the following properties from type 'ShabadOptions': shabadOrderId, lineOrderId
apps/frontend/src/Controller/Search/Result.tsx(88,26): error TS7031: Binding element 'nameEnglish' implicitly has an 'any' type.
apps/frontend/src/Controller/Search/Result.tsx(89,43): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'.
apps/frontend/src/Controller/Search/Result.tsx(90,29): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'RecommendedSources'.
apps/frontend/src/Controller/Search/Result.tsx(93,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(93,15): error TS2769: No overload matches this call.
  The last overload gave the following error.
    Type 'ForwardedRef<unknown>' is not assignable to type '((instance: HTMLLIElement | null) => void) | RefObject<HTMLLIElement> | null | undefined'.
      Type 'MutableRefObject<unknown>' is not assignable to type '((instance: HTMLLIElement | null) => void) | RefObject<HTMLLIElement> | null | undefined'.
        Type 'MutableRefObject<unknown>' is not assignable to type 'RefObject<HTMLLIElement>'.
          Types of property 'current' are incompatible.
            Type 'unknown' is not assignable to type 'HTMLLIElement | null'.
apps/frontend/src/Controller/Search/Result.tsx(94,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(95,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(96,27): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(97,21): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(98,26): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(101,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(103,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(109,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(110,39): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(111,33): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(112,38): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(118,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/Search/Result.tsx(121,15): error TS7053: Element implicitly has an 'any' type because expression of type 'number' can't be used to index type '{ 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }'.
  No index signature with a parameter of type 'number' was found on type '{ 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }'.
apps/frontend/src/Controller/ShabadInfo.tsx(9,75): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Controller/ShabadInfo.tsx(41,11): error TS2339: Property 'nameEnglish' does not exist on type 'string | Simplify<Except<Banis, "lines"> & { lines?: (Lines & { lineGroup: number; })[] | undefined; }> | Sections | undefined'.
apps/frontend/src/Controller/ShabadInfo.tsx(44,39): error TS7053: Element implicitly has an 'any' type because expression of type 'string | number' can't be used to index type '{}'.
  No index signature with a parameter of type 'string' was found on type '{}'.
apps/frontend/src/Controller/ShabadInfo.tsx(45,66): error TS7053: Element implicitly has an 'any' type because expression of type 'string | number' can't be used to index type 'RecommendedSources'.
  No index signature with a parameter of type 'string' was found on type 'RecommendedSources'.
apps/frontend/src/Controller/ShabadInfo.tsx(56,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(57,7): error TS2769: No overload matches this call.
  Overload 1 of 3, '(props: { href: string; } & { children?: ReactNode; classes?: Partial<IconButtonClasses> | undefined; color?: "error" | "warning" | "info" | "inherit" | ... 4 more ... | undefined; ... 4 more ...; sx?: SxProps<...> | undefined; } & Omit<...> & CommonProps & Omit<...>): Element', gave the following error.
    Type 'MutableRefObject<undefined>' is not assignable to type '((instance: HTMLAnchorElement | null) => void) | RefObject<HTMLAnchorElement> | null | undefined'.
      Type 'MutableRefObject<undefined>' is not assignable to type 'RefObject<HTMLAnchorElement>'.
        Types of property 'current' are incompatible.
          Type 'undefined' is not assignable to type 'HTMLAnchorElement | null'.
  Overload 2 of 3, '(props: { component: ElementType<any>; } & { children?: ReactNode; classes?: Partial<IconButtonClasses> | undefined; color?: "error" | ... 7 more ... | undefined; ... 4 more ...; sx?: SxProps<...> | undefined; } & Omit<...> & CommonProps & Omit<...>): Element', gave the following error.
    Property 'component' is missing in type '{ children: Element; ref: MutableRefObject<undefined>; variant: string; onClick: () => void; size: "large"; }' but required in type '{ component: ElementType<any>; }'.
  Overload 3 of 3, '(props: DefaultComponentProps<ExtendButtonBaseTypeMap<IconButtonTypeMap<{}, "button">>>): Element', gave the following error.
    Type 'MutableRefObject<undefined>' is not assignable to type '((instance: HTMLButtonElement | null) => void) | RefObject<HTMLButtonElement> | null | undefined'.
      Type 'MutableRefObject<undefined>' is not assignable to type 'RefObject<HTMLButtonElement>'.
        Types of property 'current' are incompatible.
          Type 'undefined' is not assignable to type 'HTMLButtonElement | null'.
apps/frontend/src/Controller/ShabadInfo.tsx(57,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(58,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(61,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(61,8): error TS2322: Type '{ children: Element; anchorEl: undefined; transformOrigin: { vertical: string; horizontal: string; }; anchorOrigin: { vertical: string; horizontal: string; }; open: boolean; onClose: () => void; }' is not assignable to type 'PopoverProps'.
  The types of 'anchorOrigin.vertical' are incompatible between these types.
    Type 'string' is not assignable to type 'number | "center" | "top" | "bottom"'.
apps/frontend/src/Controller/ShabadInfo.tsx(67,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(68,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(69,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(70,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(71,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(72,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(73,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(74,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(75,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(76,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(77,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(79,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(80,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(81,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(86,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ShabadInfo.tsx(87,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ToolbarButton.tsx(31,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Controller/ToolbarButton.tsx(40,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/index.tsx(4,17): error TS6142: Module './App' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/App.tsx', but '--jsx' is not set.
apps/frontend/src/index.tsx(16,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/index.tsx(17,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/lib/auto-jump.ts(7,26): error TS7006: Parameter 'baniId' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(7,34): error TS7006: Parameter 'lines' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(8,5): error TS7031: Binding element 'jumpLines' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(9,5): error TS7031: Binding element 'id' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(9,9): error TS7031: Binding element 'lineGroup' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(9,20): error TS7031: Binding element 'gurmukhi' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(10,3): error TS7006: Parameter 'index' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(42,43): error TS7031: Binding element 'jumpLines' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(42,54): error TS7031: Binding element 'jumpIndex' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(42,67): error TS7006: Parameter 'line' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(42,73): error TS7006: Parameter 'lineIndex' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(48,35): error TS2345: Argument of type '{ jumpLines: any; jumpIndex: any; }' is not assignable to parameter of type '{ jumpLines: any; }'.
  Object literal may only specify known properties, and 'jumpIndex' does not exist in type '{ jumpLines: any; }'.
apps/frontend/src/lib/auto-jump.ts(64,40): error TS7031: Binding element 'bani' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(64,46): error TS7031: Binding element 'lineId' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(151,36): error TS7031: Binding element 'nextLineId' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(151,48): error TS7031: Binding element 'shabad' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(151,56): error TS7031: Binding element 'bani' implicitly has an 'any' type.
apps/frontend/src/lib/auto-jump.ts(151,62): error TS7031: Binding element 'lineId' implicitly has an 'any' type.
apps/frontend/src/lib/contexts.tsx(10,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/lib/contexts.tsx(11,23): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/lib/hooks.ts(7,76): error TS6142: Module './contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/lib/hooks.ts(34,20): error TS2525: Initializer provides no value for this binding element and the binding element has no default value.
apps/frontend/src/lib/hooks.ts(36,43): error TS2322: Type 'RecommendedSources' is not assignable to type '{ [id: string]: RecursiveHelper<ModelObject<TranslationSources>>; }'.
  Property 'pageNameEnglish' is incompatible with index signature.
    Type 'string' is not assignable to type 'RecursiveHelper<ModelObject<TranslationSources>>'.
apps/frontend/src/lib/line.ts(93,13): error TS2304: Cannot find name 'Source'.
apps/frontend/src/lib/line.ts(94,24): error TS2304: Cannot find name 'Source'.
apps/frontend/src/lib/line.ts(137,41): error TS2345: Argument of type '{ shabad: Simplify<Except<Shabads, "lines" | "section"> & { lines?: Lines[] | undefined; section?: Sections | undefined; }> | null; sources: { ...; }; recommendedSources: { ...; }; languageId: number; line: Simplify<...>; }' is not assignable to parameter of type 'GetTranslationParams'.
  Types of property 'shabad' are incompatible.
    Type 'Simplify<Except<Shabads, "lines" | "section"> & { lines?: Lines[] | undefined; section?: Sections | undefined; }> | null' is not assignable to type 'Simplify<Except<Shabads, "lines" | "section"> & { lines?: Lines[] | undefined; section?: Sections | undefined; }>'.
      Type 'null' is not assignable to type 'Simplify<Except<Shabads, "lines" | "section"> & { lines?: Lines[] | undefined; section?: Sections | undefined; }>'.
apps/frontend/src/Overlay/index.tsx(7,48): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Overlay/index.tsx(12,18): error TS6142: Module './Line' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Overlay/Line.tsx', but '--jsx' is not set.
apps/frontend/src/Overlay/index.tsx(13,25): error TS6142: Module './ThemeLoader' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Overlay/ThemeLoader.tsx', but '--jsx' is not set.
apps/frontend/src/Overlay/index.tsx(32,32): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
apps/frontend/src/Overlay/index.tsx(49,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/index.tsx(50,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/index.tsx(52,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/index.tsx(55,9): error TS2322: Type '{ [x: string]: string; }' is not assignable to type 'Translations'.
  'string' index signatures are incompatible.
    Type 'string' is not assignable to type 'number'.
apps/frontend/src/Overlay/Line.tsx(29,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(34,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(35,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(38,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(39,51): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(49,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(50,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(60,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(61,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/Line.tsx(63,40): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Overlay/ThemeLoader.tsx(4,31): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Overlay/ThemeLoader.tsx(17,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Display.tsx(11,18): error TS6142: Module './Line' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Presenter/Line.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/Display.tsx(51,33): error TS2339: Property 'typeId' does not exist on type 'never[] | Simplify<Except<Lines, "translations" | "transliterations"> & { translations?: Translations[] | undefined; transliterations?: Transliterations[] | undefined; }>'.
  Property 'typeId' does not exist on type 'never[]'.
apps/frontend/src/Presenter/Display.tsx(66,32): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
apps/frontend/src/Presenter/Display.tsx(81,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Display.tsx(82,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Display.tsx(84,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Display.tsx(86,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Display.tsx(99,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Display.tsx(104,26): error TS2339: Property 'gurmukhi' does not exist on type 'never[] | Simplify<Except<Lines, "translations" | "transliterations"> & { translations?: Translations[] | undefined; transliterations?: Transliterations[] | undefined; }>'.
  Property 'gurmukhi' does not exist on type 'never[]'.
apps/frontend/src/Presenter/Display.tsx(105,11): error TS2322: Type '{ [x: string]: string; }' is not assignable to type 'Translations'.
apps/frontend/src/Presenter/Display.tsx(111,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Display.tsx(113,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(11,17): error TS2305: Module '"react-router-dom"' has no exported member 'useHistory'.
apps/frontend/src/Presenter/index.tsx(25,33): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(32,25): error TS6142: Module '../shared/CopyHotkeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/CopyHotkeys.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(33,35): error TS6142: Module '../shared/ErrorFallback' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/ErrorFallback.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(34,27): error TS6142: Module '../shared/GlobalHotKeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/GlobalHotKeys.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(35,20): error TS6142: Module '../shared/Loader' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/Loader.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(36,30): error TS6142: Module '../shared/NavigatorHotkeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/NavigatorHotkeys.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(37,25): error TS6142: Module '../shared/ThemeLoader' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/ThemeLoader.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(38,25): error TS6142: Module './StatusToast' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Presenter/StatusToast.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(40,37): error TS6142: Module './Display' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Presenter/Display.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(41,40): error TS6142: Module '../Controller' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Controller/index.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/index.tsx(81,28): error TS7006: Parameter 'params' implicitly has an 'any' type.
apps/frontend/src/Presenter/index.tsx(90,16): error TS7006: Parameter 'pathname' implicitly has an 'any' type.
apps/frontend/src/Presenter/index.tsx(109,21): error TS7006: Parameter 'controllerZoom' implicitly has an 'any' type.
apps/frontend/src/Presenter/index.tsx(118,25): error TS7006: Parameter 'query' implicitly has an 'any' type.
apps/frontend/src/Presenter/index.tsx(141,28): error TS7006: Parameter 'events' implicitly has an 'any' type.
apps/frontend/src/Presenter/index.tsx(144,19): error TS7006: Parameter 'event' implicitly has an 'any' type.
apps/frontend/src/Presenter/index.tsx(144,56): error TS2571: Object is of type 'unknown'.
apps/frontend/src/Presenter/index.tsx(154,58): error TS2554: Expected 2 arguments, but got 1.
apps/frontend/src/Presenter/index.tsx(173,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(174,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(175,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(178,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(178,10): error TS2604: JSX element type 'IdleTimer' does not have any construct or call signatures.
apps/frontend/src/Presenter/index.tsx(186,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(186,8): error TS2322: Type '{ children: Element; keyMap: {}; handlers: {}; }' is not assignable to type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
  Property 'children' does not exist on type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
apps/frontend/src/Presenter/index.tsx(187,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(188,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(190,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(190,33): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(191,59): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(191,68): error TS2322: Type '{ display: { previousLines: number; nextLines: number; larivaarGurbani: boolean; larivaarAssist: boolean; syllabicWeights: boolean; syllableCount: boolean; englishTranslation: boolean; spanishTranslation: boolean; ... 4 more ...; lineEnding: boolean; }; ... 6 more ...; search: { ...; }; }' is not assignable to type '{ layout: Layout; display: Display; vishraams: Vishraams; theme: { simpleGraphics: boolean; backgroundImage: boolean; highlightCurrentLine: boolean; dimNextAndPrevLines: boolean; }; }'.
  The types of 'layout.spacing' are incompatible between these types.
    Type 'string' is not assignable to type '"space-around" | "space-between" | "space-evenly" | "flex-start" | "flex-end" | "center"'.
apps/frontend/src/Presenter/index.tsx(194,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(195,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(196,17): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(199,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(200,18): error TS2322: Type '() => JSX.Element' is not assignable to type 'ReactNode'.
apps/frontend/src/Presenter/index.tsx(200,24): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/index.tsx(208,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(143,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(161,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(162,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(163,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(166,17): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(177,21): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(188,23): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(191,25): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(200,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(215,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(223,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(228,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(244,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(249,17): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/Line.tsx(260,21): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/StatusToast.tsx(8,31): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Presenter/StatusToast.tsx(13,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/StatusToast.tsx(15,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/StatusToast.tsx(16,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/StatusToast.tsx(17,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Presenter/StatusToast.tsx(18,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/ScreenReader/index.tsx(5,32): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/ScreenReader/index.tsx(12,10): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/ScreenReader/index.tsx(12,48): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(12,24): error TS6142: Module './CopyButton' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/CopyButton.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/About.tsx(13,24): error TS6142: Module './SettingComponents' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/SettingComponents.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/About.tsx(42,24): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(45,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(46,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(47,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(48,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(48,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(49,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(51,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(58,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(59,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(60,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(60,31): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(61,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(61,31): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(61,44): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'AboutType'.
  No index signature with a parameter of type 'string' was found on type 'AboutType'.
apps/frontend/src/Settings/About.tsx(66,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(67,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(68,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(68,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(69,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(69,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(73,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(74,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(75,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/About.tsx(75,68): error TS2322: Type '{ children: string; className: string; disabled: boolean; variant: string; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & ButtonProps'.
  Property 'variant' does not exist on type 'IntrinsicAttributes & ButtonProps'.
apps/frontend/src/Settings/About.tsx(75,114): error TS2554: Expected 2 arguments, but got 1.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(5,55): error TS6142: Module './DynamicOptions' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/DynamicOptions.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(6,28): error TS6142: Module './TutorialButton' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/TutorialButton.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(9,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(10,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(11,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(12,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(20,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(21,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(22,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(28,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/ClosedCaptionSettings.tsx(28,37): error TS2322: Type '"closedCaptions"' is not assignable to type 'keyof ClientSettings'.
apps/frontend/src/Settings/CopyButton.tsx(25,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/CopyButton.tsx(26,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(7,33): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/DynamicOptions.tsx(10,49): error TS6142: Module './SettingComponents' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/SettingComponents.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/DynamicOptions.tsx(26,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(36,3): error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: { component: ElementType<any>; } & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>): Element', gave the following error.
    Property 'component' is missing in type '{ children: Element; center: string; xs: number; sm: number; item: true; }' but required in type '{ component: ElementType<any>; }'.
  Overload 2 of 2, '(props: DefaultComponentProps<GridTypeMap<{}, "div">>): Element', gave the following error.
    Type '{ children: Element; center: string; xs: number; sm: number; item: true; }' is not assignable to type 'IntrinsicAttributes & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>'.
      Property 'center' does not exist on type 'IntrinsicAttributes & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>'.
apps/frontend/src/Settings/DynamicOptions.tsx(36,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(37,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(46,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(47,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(56,3): error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: { component: ElementType<any>; } & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>): Element', gave the following error.
    Property 'component' is missing in type '{ children: ReactNode; xs: number; sm: number; md: number; lg: number; align: string; item: true; }' but required in type '{ component: ElementType<any>; }'.
  Overload 2 of 2, '(props: DefaultComponentProps<GridTypeMap<{}, "div">>): Element', gave the following error.
    Type '{ children: ReactNode; xs: number; sm: number; md: number; lg: number; align: string; item: true; }' is not assignable to type 'IntrinsicAttributes & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>'.
      Property 'align' does not exist on type 'IntrinsicAttributes & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>'.
apps/frontend/src/Settings/DynamicOptions.tsx(56,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(68,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(69,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(70,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(73,9): error TS2322: Type '{ children: string; className: string; disabled: boolean; variant: string; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & ButtonProps'.
  Property 'variant' does not exist on type 'IntrinsicAttributes & ButtonProps'.
apps/frontend/src/Settings/DynamicOptions.tsx(101,11): error TS2339: Property 'privacy' does not exist on type '{ name: string; icon: IconDefinition; } | {}'.
apps/frontend/src/Settings/DynamicOptions.tsx(105,15): error TS7053: Element implicitly has an 'any' type because expression of type 'keyof ClientSettings' can't be used to index type '{ display: { previousLines: number; nextLines: number; larivaarGurbani: boolean; larivaarAssist: boolean; syllabicWeights: boolean; syllableCount: boolean; englishTranslation: boolean; ... 5 more ...; lineEnding: boolean; }; ... 6 more ...; search: { ...; }; } | { ...; }'.
  Property 'search' does not exist on type '{ display: { previousLines: number; nextLines: number; larivaarGurbani: boolean; larivaarAssist: boolean; syllabicWeights: boolean; syllableCount: boolean; englishTranslation: boolean; ... 5 more ...; lineEnding: boolean; }; ... 6 more ...; search: { ...; }; } | { ...; }'.
apps/frontend/src/Settings/DynamicOptions.tsx(108,41): error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'.
apps/frontend/src/Settings/DynamicOptions.tsx(108,96): error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'.
apps/frontend/src/Settings/DynamicOptions.tsx(109,23): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ controllerZoom: { name: string; icon: IconDefinition; type: symbol; min: number; max: number; step: number; privacy: symbol; }; presenterFontSize: { name: string; icon: IconDefinition; ... 4 more ...; privacy: symbol; }; ... 50 more ...; zoomApiToken: { ...; }; }'.
  No index signature with a parameter of type 'string' was found on type '{ controllerZoom: { name: string; icon: IconDefinition; type: symbol; min: number; max: number; step: number; privacy: symbol; }; presenterFontSize: { name: string; icon: IconDefinition; ... 4 more ...; privacy: symbol; }; ... 50 more ...; zoomApiToken: { ...; }; }'.
apps/frontend/src/Settings/DynamicOptions.tsx(119,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(120,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(121,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(122,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(122,23): error TS2322: Type '{ children: Element; alignItems: string; }' is not assignable to type 'IntrinsicAttributes & OptionSlotProps'.
  Property 'alignItems' does not exist on type 'IntrinsicAttributes & OptionSlotProps'.
apps/frontend/src/Settings/DynamicOptions.tsx(123,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(136,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/DynamicOptions.tsx(139,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(38,26): error TS7006: Parameter 'hotkey' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(38,34): error TS7006: Parameter 'needle' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(42,29): error TS7031: Binding element 'open' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(42,35): error TS7031: Binding element 'name' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(42,41): error TS7031: Binding element 'onRecorded' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(42,53): error TS7031: Binding element 'assigned' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(47,15): error TS2345: Argument of type 'null' is not assignable to parameter of type 'SetStateAction<undefined>'.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(56,41): error TS7031: Binding element 'keys' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(60,24): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ Control: string; Command: string; Alt: string; AltGraph: string; Shift: string; Meta: string; ' ': string; ArrowDown: string; ArrowUp: string; ArrowLeft: string; ArrowRight: string; Escape: string; }'.
  No index signature with a parameter of type 'string' was found on type '{ Control: string; Command: string; Alt: string; AltGraph: string; Shift: string; Meta: string; ' ': string; ArrowDown: string; ArrowUp: string; ArrowLeft: string; ArrowRight: string; Escape: string; }'.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(65,11): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(66,13): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(113,17): error TS2345: Argument of type 'string | boolean | null | undefined' is not assignable to parameter of type 'SetStateAction<undefined>'.
  Type 'null' is not assignable to type 'SetStateAction<undefined>'.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(114,45): error TS2322: Type 'string' is not assignable to type 'never'.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(114,56): error TS2322: Type 'string' is not assignable to type 'never'.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(121,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(122,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(124,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(125,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(129,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(131,19): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(134,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(135,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(136,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/AddHotkeyDialog.tsx(137,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(6,32): error TS7031: Binding element 'open' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(6,38): error TS7031: Binding element 'keyName' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(6,47): error TS7031: Binding element 'name' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(6,53): error TS7031: Binding element 'onClose' implicitly has an 'any' type.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(7,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(8,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(10,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(12,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(16,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(20,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(21,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Hotkeys/DeleteHotkeyDialog.tsx(22,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(37,33): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(40,35): error TS6142: Module '../shared/ErrorFallback' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/ErrorFallback.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(41,25): error TS6142: Module '../shared/ThemeLoader' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/ThemeLoader.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(42,19): error TS6142: Module './About' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/About.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(43,35): error TS6142: Module './ClosedCaptionSettings' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/ClosedCaptionSettings.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(44,28): error TS6142: Module './DynamicOptions' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/DynamicOptions.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(46,29): error TS6142: Module './OverlaySettings' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/OverlaySettings.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(47,21): error TS6142: Module './Sources' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/Sources.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/index.tsx(58,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(59,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(60,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(61,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(63,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(71,40): error TS2538: Type 'undefined' cannot be used as an index type.
apps/frontend/src/Settings/index.tsx(91,50): error TS7006: Parameter 'theme' implicitly has an 'any' type.
apps/frontend/src/Settings/index.tsx(106,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(107,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(113,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(117,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(124,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(125,27): error TS2769: No overload matches this call.
  Overload 2 of 2, '(props: DefaultComponentProps<TypographyTypeMap<{}, "span">>): Element', gave the following error.
    Type 'string | { display: { name: string; icon: IconDefinition; }; layout: { name: string; icon: IconDefinition; }; theme: { name: string; icon: IconDefinition; }; vishraams: { ...; }; sources: { ...; }; hotkeys: { ...; }; security: { ...; }; } | ... 4 more ... | { ...; }' is not assignable to type 'Key | null | undefined'.
  Overload 2 of 2, '(props: DefaultComponentProps<TypographyTypeMap<{}, "span">>): Element', gave the following error.
    Type 'string | { display: { name: string; icon: IconDefinition; }; layout: { name: string; icon: IconDefinition; }; theme: { name: string; icon: IconDefinition; }; vishraams: { ...; }; sources: { ...; }; hotkeys: { ...; }; security: { ...; }; } | ... 4 more ... | { ...; }' is not assignable to type 'ReactNode'.
apps/frontend/src/Settings/index.tsx(125,27): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(129,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(132,21): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'string | { display: { name: string; icon: IconDefinition; }; layout: { name: string; icon: IconDefinition; }; theme: { name: string; icon: IconDefinition; }; vishraams: { ...; }; sources: { ...; }; hotkeys: { ...; }; security: { ...; }; } | ... 4 more ... | { ...; }'.
  No index signature with a parameter of type 'string' was found on type 'string | { display: { name: string; icon: IconDefinition; }; layout: { name: string; icon: IconDefinition; }; theme: { name: string; icon: IconDefinition; }; vishraams: { ...; }; sources: { ...; }; hotkeys: { ...; }; security: { ...; }; } | ... 4 more ... | { ...; }'.
apps/frontend/src/Settings/index.tsx(148,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(149,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(151,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(152,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(163,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(164,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(167,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(168,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(169,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(170,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(171,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(174,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(178,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(179,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(180,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(180,45): error TS2322: Type '{ path: string; render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(180,59): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(183,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(185,13): error TS2322: Type '{ path: string; render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(185,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(187,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(187,58): error TS2322: Type '{ path: string; render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(187,72): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(187,81): error TS2739: Type '{ [id: number]: Simplify<Except<Sources, "translationSources"> & { translationSources?: TranslationSources[] | undefined; }>; }' is missing the following properties from type 'Source': nameEnglish, nameGurmukhi, translationSources
apps/frontend/src/Settings/index.tsx(188,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(188,52): error TS2322: Type '{ path: string; render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(188,66): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(188,98): error TS2322: Type 'string | undefined' is not assignable to type 'keyof ClientSettings'.
  Type 'undefined' is not assignable to type 'keyof ClientSettings'.
apps/frontend/src/Settings/index.tsx(191,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(193,13): error TS2322: Type '{ path: string; render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(193,27): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(195,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(195,52): error TS2322: Type '{ path: string; render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(195,66): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(195,98): error TS2322: Type 'string | undefined' is not assignable to type 'keyof ClientSettings'.
apps/frontend/src/Settings/index.tsx(198,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(198,57): error TS2322: Type '{ path: string; component: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'component' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(199,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(199,64): error TS2322: Type '{ path: string; component: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'component' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(200,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(200,51): error TS2322: Type '{ path: string; render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(200,65): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(200,97): error TS2322: Type 'string | undefined' is not assignable to type 'keyof ClientSettings'.
apps/frontend/src/Settings/index.tsx(202,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/index.tsx(202,18): error TS2322: Type '{ render: () => Element; }' is not assignable to type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
  Property 'render' does not exist on type 'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.
apps/frontend/src/Settings/index.tsx(202,32): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(9,24): error TS6142: Module './CopyButton' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/CopyButton.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/OverlaySettings.tsx(10,65): error TS6142: Module './DynamicOptions' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/DynamicOptions.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/OverlaySettings.tsx(11,24): error TS6142: Module './SettingComponents' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/SettingComponents.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/OverlaySettings.tsx(12,28): error TS6142: Module './TutorialButton' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/TutorialButton.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/OverlaySettings.tsx(24,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(26,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(27,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(28,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(36,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(37,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(38,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(42,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(43,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(47,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(48,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(48,68): error TS2322: Type '{ children: string; className: string; disabled: boolean; variant: string; onClick: () => void; }' is not assignable to type 'IntrinsicAttributes & ButtonProps'.
  Property 'variant' does not exist on type 'IntrinsicAttributes & ButtonProps'.
apps/frontend/src/Settings/OverlaySettings.tsx(48,114): error TS2554: Expected 2 arguments, but got 1.
apps/frontend/src/Settings/OverlaySettings.tsx(52,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(53,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(54,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(54,40): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(55,9): error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: { component: ElementType<any>; } & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>): Element', gave the following error.
    Property 'component' is missing in type '{ children: Element[]; align: string; xs: number; sm: number; md: number; lg: number; item: true; }' but required in type '{ component: ElementType<any>; }'.
  Overload 2 of 2, '(props: DefaultComponentProps<GridTypeMap<{}, "div">>): Element', gave the following error.
    Type '{ children: Element[]; align: string; xs: number; sm: number; md: number; lg: number; item: true; }' is not assignable to type 'IntrinsicAttributes & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>'.
      Property 'align' does not exist on type 'IntrinsicAttributes & SystemProps<Theme> & { children?: ReactNode; classes?: Partial<GridClasses> | undefined; ... 9 more ...; zeroMinWidth?: boolean | undefined; } & RegularBreakpoints & CommonProps & Omit<...>'.
apps/frontend/src/Settings/OverlaySettings.tsx(55,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(57,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(62,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/OverlaySettings.tsx(62,39): error TS2322: Type '"overlay"' is not assignable to type 'keyof ClientSettings'.
apps/frontend/src/Settings/SettingComponents.tsx(25,31): error TS7006: Parameter 'Component' implicitly has an 'any' type.
apps/frontend/src/Settings/SettingComponents.tsx(27,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(27,51): error TS7031: Binding element 'value' implicitly has an 'any' type.
apps/frontend/src/Settings/SettingComponents.tsx(33,31): error TS7006: Parameter 'Component' implicitly has an 'any' type.
apps/frontend/src/Settings/SettingComponents.tsx(35,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(35,39): error TS7006: Parameter '_' implicitly has an 'any' type.
apps/frontend/src/Settings/SettingComponents.tsx(35,42): error TS7006: Parameter 'value' implicitly has an 'any' type.
apps/frontend/src/Settings/SettingComponents.tsx(45,63): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(52,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(71,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(72,6): error TS2532: Object is possibly 'undefined'.
apps/frontend/src/Settings/SettingComponents.tsx(73,30): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(86,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(104,42): error TS7006: Parameter 'value' implicitly has an 'any' type.
apps/frontend/src/Settings/SettingComponents.tsx(109,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(143,15): error TS2556: A spread argument must either have a tuple type or be passed to a rest parameter.
apps/frontend/src/Settings/SettingComponents.tsx(154,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(155,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/SettingComponents.tsx(165,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(16,20): error TS6142: Module '../shared/Loader' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/Loader.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/Sources.tsx(17,29): error TS6142: Module './DynamicOptions' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/DynamicOptions.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/Sources.tsx(18,36): error TS6142: Module './SettingComponents' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/SettingComponents.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/Sources.tsx(39,13): error TS2339: Property 'sources' does not exist on type 'Source'.
apps/frontend/src/Settings/Sources.tsx(39,22): error TS2339: Property 'recommended' does not exist on type 'Source'.
apps/frontend/src/Settings/Sources.tsx(49,40): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(52,29): error TS7006: Parameter 'sourceId' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(52,39): error TS7006: Parameter 'languageId' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(53,27): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Source'.
apps/frontend/src/Settings/Sources.tsx(62,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(63,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(67,28): error TS2339: Property 'translationSources' does not exist on type 'unknown'.
apps/frontend/src/Settings/Sources.tsx(69,13): error TS2339: Property 'nameEnglish' does not exist on type 'unknown'.
apps/frontend/src/Settings/Sources.tsx(70,13): error TS2339: Property 'nameGurmukhi' does not exist on type 'unknown'.
apps/frontend/src/Settings/Sources.tsx(71,13): error TS2339: Property 'translationSources' does not exist on type 'unknown'.
apps/frontend/src/Settings/Sources.tsx(73,13): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(74,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(74,70): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(75,17): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(76,19): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(77,21): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(79,19): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(80,21): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(85,15): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(86,17): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(88,19): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(89,21): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(93,22): error TS2339: Property 'filter' does not exist on type 'never'.
apps/frontend/src/Settings/Sources.tsx(93,34): error TS7031: Binding element 'id' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(94,31): error TS7031: Binding element 'id' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(94,35): error TS7031: Binding element 'nameEnglish' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(95,23): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(96,25): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(96,50): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(98,25): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(100,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(103,50): error TS7031: Binding element 'name' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(103,60): error TS7031: Binding element 'value' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(105,31): error TS2322: Type '({ target: { value } }: { target: { value: any; }; }) => void' is not assignable to type '() => any'.
apps/frontend/src/Settings/Sources.tsx(105,55): error TS7031: Binding element 'value' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(110,45): error TS7031: Binding element 'id' implicitly has an 'any' type.
apps/frontend/src/Settings/Sources.tsx(118,29): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(132,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/Settings/Sources.tsx(132,8): error TS2741: Property 'device' is missing in type '{ group: "sources"; }' but required in type 'ResetButtonProps'.
apps/frontend/src/Settings/TutorialButton.tsx(6,24): error TS6142: Module './SettingComponents' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/Settings/SettingComponents.tsx', but '--jsx' is not set.
apps/frontend/src/Settings/TutorialButton.tsx(15,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/CopyHotkeys.tsx(5,92): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/shared/CopyHotkeys.tsx(10,27): error TS6142: Module './GlobalHotKeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/GlobalHotKeys.tsx', but '--jsx' is not set.
apps/frontend/src/shared/CopyHotkeys.tsx(34,32): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
apps/frontend/src/shared/CopyHotkeys.tsx(52,13): error TS2339: Property 'sourceId' does not exist on type 'Shabads | undefined'.
apps/frontend/src/shared/CopyHotkeys.tsx(52,23): error TS2339: Property 'writerId' does not exist on type 'Shabads | undefined'.
apps/frontend/src/shared/CopyHotkeys.tsx(55,43): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'RecommendedSources'.
apps/frontend/src/shared/CopyHotkeys.tsx(56,41): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'.
apps/frontend/src/shared/CopyHotkeys.tsx(58,31): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{ 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }'.
apps/frontend/src/shared/CopyHotkeys.tsx(80,5): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
apps/frontend/src/shared/CopyHotkeys.tsx(80,46): error TS2349: This expression is not callable.
  Not all constituents of type 'string | (() => string)' are callable.
    Type 'string' has no call signatures.
apps/frontend/src/shared/CopyHotkeys.tsx(83,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/CopyHotkeys.tsx(83,6): error TS2322: Type '{ children: ReactNode; keyMap: {}; handlers: {}; }' is not assignable to type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
  Property 'children' does not exist on type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
apps/frontend/src/shared/ErrorFallback.tsx(37,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(38,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(40,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(41,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(45,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(49,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(56,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(61,23): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(63,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(64,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(68,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(70,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(90,27): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/ErrorFallback.tsx(92,14): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/GlobalHotKeys.tsx(2,53): error TS7016: Could not find a declaration file for module 'react-hotkeys/es'. 'J:/Projects/Shabad OS/presenter/node_modules/react-hotkeys/es/index.js' implicitly has an 'any' type.
  If the 'react-hotkeys' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module 'react-hotkeys/es';`
apps/frontend/src/shared/GlobalHotKeys.tsx(3,29): error TS7016: Could not find a declaration file for module 'react-hotkeys/es/lib/KeyEventManager'. 'J:/Projects/Shabad OS/presenter/node_modules/react-hotkeys/es/lib/KeyEventManager.js' implicitly has an 'any' type.
  If the 'react-hotkeys' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module 'react-hotkeys/es/lib/KeyEventManager';`
apps/frontend/src/shared/GlobalHotKeys.tsx(14,30): error TS7006: Parameter 'handler' implicitly has an 'any' type.
apps/frontend/src/shared/GlobalHotKeys.tsx(26,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/Loader.tsx(8,3): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/Loader.tsx(9,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/Loader.tsx(10,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/Loader.tsx(11,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/Loader.tsx(12,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/Loader.tsx(13,7): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/NavigationHotkeys.tsx(6,27): error TS6142: Module './GlobalHotKeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/GlobalHotKeys.tsx', but '--jsx' is not set.
apps/frontend/src/shared/NavigationHotkeys.tsx(16,38): error TS2304: Cannot find name 'NavigationHotkeys'.
apps/frontend/src/shared/NavigationHotkeys.tsx(79,25): error TS7006: Parameter '_' implicitly has an 'any' type.
apps/frontend/src/shared/NavigationHotkeys.tsx(149,84): error TS2345: Argument of type 'ReactInstance' is not assignable to parameter of type 'Element'.
  Type 'Component<any, {}, any>' is missing the following properties from type 'Element': attributes, classList, className, clientHeight, and 160 more.
apps/frontend/src/shared/NavigationHotkeys.tsx(187,21): error TS7006: Parameter 'name' implicitly has an 'any' type.
apps/frontend/src/shared/NavigationHotkeys.tsx(187,27): error TS7006: Parameter 'ref' implicitly has an 'any' type.
apps/frontend/src/shared/NavigationHotkeys.tsx(226,9): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/NavigationHotkeys.tsx(226,49): error TS2322: Type '{ next: string[]; previous: string[]; first: string[] | null; last: string[] | null; enter?: string[] | undefined; }' is not assignable to type 'KeyMap'.
  Property 'first' is incompatible with index signature.
    Type 'string[] | null' is not assignable to type 'string[]'.
      Type 'null' is not assignable to type 'string[]'.
apps/frontend/src/shared/NavigationHotkeys.tsx(227,11): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/NavigationHotkeys.tsx(227,12): error TS2604: JSX element type 'WrappedComponent' does not have any construct or call signatures.
apps/frontend/src/shared/NavigationHotkeys.tsx(239,40): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/NavigatorHotkeys.tsx(5,65): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/shared/NavigatorHotkeys.tsx(10,27): error TS6142: Module './GlobalHotKeys' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/shared/GlobalHotKeys.tsx', but '--jsx' is not set.
apps/frontend/src/shared/NavigatorHotkeys.tsx(27,19): error TS2339: Property 'mainLineId' does not exist on type 'Content'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(27,31): error TS2339: Property 'nextLineId' does not exist on type 'Content'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(36,72): error TS2531: Object is possibly 'null'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(46,67): error TS2531: Object is possibly 'null'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(58,40): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(58,50): error TS2769: No overload matches this call.
  Overload 1 of 4, '(value: string | number | Date): Date', gave the following error.
    Argument of type 'unknown' is not assignable to parameter of type 'string | number | Date'.
  Overload 2 of 4, '(value: string | number): Date', gave the following error.
    Argument of type 'unknown' is not assignable to parameter of type 'string | number'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(58,57): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(58,67): error TS2769: No overload matches this call.
  Overload 1 of 4, '(value: string | number | Date): Date', gave the following error.
    Argument of type 'unknown' is not assignable to parameter of type 'string | number | Date'.
  Overload 2 of 4, '(value: string | number): Date', gave the following error.
    Argument of type 'unknown' is not assignable to parameter of type 'string | number'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(84,15): error TS7031: Binding element 'nodeName' implicitly has an 'any' type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(84,36): error TS7031: Binding element 'targetClass' implicitly has an 'any' type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(84,49): error TS7031: Binding element 'parentNode' implicitly has an 'any' type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(96,84): error TS2531: Object is possibly 'null'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(96,96): error TS2339: Property 'className' does not exist on type 'EventTarget'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(107,23): error TS7006: Parameter 'index' implicitly has an 'any' type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(120,28): error TS7006: Parameter 'events' implicitly has an 'any' type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(123,19): error TS7006: Parameter 'event' implicitly has an 'any' type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(123,56): error TS2571: Object is of type 'unknown'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(167,25): error TS7031: Binding element 'button' implicitly has an 'any' type.
apps/frontend/src/shared/NavigatorHotkeys.tsx(167,41): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{ 2: () => void; 1: () => void; }'.
apps/frontend/src/shared/NavigatorHotkeys.tsx(181,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.
apps/frontend/src/shared/NavigatorHotkeys.tsx(181,6): error TS2322: Type '{ children: string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | ReactFragment | ReactPortal | null; keyMap: {}; handlers: {}; }' is not assignable to type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
  Property 'children' does not exist on type 'IntrinsicAttributes & { keyMap: KeyMap; handlers: any; }'.
apps/frontend/src/shared/ThemeLoader.tsx(4,31): error TS6142: Module '../lib/contexts' was resolved to 'J:/Projects/Shabad OS/presenter/apps/frontend/src/lib/contexts.tsx', but '--jsx' is not set.
apps/frontend/src/shared/ThemeLoader.tsx(18,5): error TS17004: Cannot use JSX unless the '--jsx' flag is provided.

Copy link
Member

@Harjot1Singh Harjot1Singh left a comment

Choose a reason for hiding this comment

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

Excellent work 🫡

A few catches, and be careful to consider changes that seem harmless (destructured variable default value assignments) that can actually affect the behaviour!

next: boolean,
main: boolean,
id: string,
hotkey?: string | null,
Copy link
Member

Choose a reason for hiding this comment

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

The type here is undefined | string | null - do we actually need the null value? Coupled with the null assignment on L57, that may be a change in semantics!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was directly translated from what was there before - defaultProps assigned null to hotkey, and it also wasn't marked with isRequired, hence the optional marker here. Would you like me to change this?

And also, this is something I encountered in .SHIFT, too. If I remove the optional property from hotkey here, if you don't pass a value to hotkey when creating the NavigatorLine component, then it gives this error:

Property 'hotkey' is missing in type '{ focused: boolean; main: boolean; next: boolean; register: () => any; timestamp: any; QueryBuilderType: LinesBuilder; id: string; shabadId: string; sourcePage: number; sourceLine: number; ... 11 more ...; key: string; }' but required in type 'NavigatorLineProps'.ts(2741)

So with TypeScript, how do you factor in default values like this without making the param optional?

@@ -37,7 +37,7 @@ const ShabadInfo = () => {
// Icon changes when open
const barIcon = isPopoverOpen ? faTimesCircle : faInfoCircle

const { sourceId, writerId, section } = shabad || line.shabad
const { sourceId, writerId, section } = shabad || line?.shabad || { sourceId: '', writerId: '', section: '' }
Copy link
Member

Choose a reason for hiding this comment

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

The additional || { sourceId ...} would actually constitute a code change here! Are we sure this is what we intend? Is this just to counteract that shabad may not be present here? I think that is not a possible situation, and if that's the case, we can restructure it to

if (!shabad || !line?.shabad) {
    console.error('Missing shabad')
    return null
}

const { source, writer }... 

the if statement will narrow down the TS type

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think the Line, Shabad, etc. types in the contract data.ts file need updating, basically. So without this default assignment, this bit gives the error: Property 'sourceId' does not exist on type 'Shabads | undefined'. so I'm guessing I added this to deal with that until we fixed the other types.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So what should I do here? Should I remove this default assignment for now and then we'll update the contract types in another task later?

@@ -39,12 +38,19 @@ import Navigator, { Bar as NavigatorBar } from './Navigator'
import Search from './Search'
import ToolbarButton from './ToolbarButton'

type OnHover = ( message: string | null ) => Record<string, any>

type TopBarProps = {
Copy link
Member

Choose a reason for hiding this comment

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

The old prop types for TopBar had title + onHover down as mandatory. Are the old prop types wrong?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Looking at the old props now, I don't quite understand the logic. Why have defaultProps set if it's mandatory to pass in values for them?

I think it makes sense now to make the props mandatory but remove the default values.

@@ -31,7 +36,7 @@ const Line = ( {
{partitionLine( gurmukhi )
.map( ( line, lineIndex ) => (
<span key={lineIndex}>
{line.map( ( { word, type }, i ) => <span key={`${word}-${type}-${i}`} className={classNames( type, 'word' )}>{word}</span> )}
{line.map( ( { word, type }, i ) => <span key={`${word}-${type || ''}-${i}`} className={classNames( type, 'word' )}>{word}</span> )}
Copy link
Member

Choose a reason for hiding this comment

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

The || '' seems a little odd here - certainly shouldn't do it to satisfy the type system. Surely partitionLine should be typed to always return a shape of {word: string, type: string}[] so there's no need for the || ''

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Okay so I've changed this back, which means the template string null error is back.

In classifyWord function in line.ts, look at this:

export const classifyWord = ( word: string, strip = true ) => ( { word: strip ? stripVishraams( word ) : word, type: Object .entries( vishraams ) // TODO: Do we want type to be null or a blank string? .reduce( ( type: string, [ pauseType, pauseChar ] ) => ( // Check if last char in word is the current pause char, and return that type if so word.slice( -1 ) === pauseChar ? pauseType : type ), null ), } )

Can I set the type value to be '' instead of null? That would fix the type (lol) issue.

)

if (!connected) return null
if ( !connected ) return null

return (
<div className={classNames( { empty: !line }, 'overlay' )}>
<ThemeLoader name={overlayName} />

<Line
{...overlay}
Copy link
Member

Choose a reason for hiding this comment

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

simpleGraphics has been removed here! How comes?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The Line props don't actually include it, and neither did Line.propTypes, so I'm assuming that's why I removed it from the props here. It's apparently not used in the component. Did I miss something?

apps/frontend/src/shared/ThemeLoader.tsx Show resolved Hide resolved
apps/frontend/src/index.tsx Outdated Show resolved Hide resolved
packages/contract/src/about.ts Show resolved Hide resolved
package.json Show resolved Hide resolved
apps/frontend/package.json Show resolved Hide resolved
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.

None yet

2 participants