Skip to content

Commit e2bafbd

Browse files
author
dedicatedbroadcastsolutions
committed
lint: fix Prettier reflows and add ESLint exceptions for fetch usage; fix test indentation
1 parent 92a1d36 commit e2bafbd

5 files changed

Lines changed: 22 additions & 19 deletions

File tree

apps/app/src/electron/telemetry.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ export class TelemetryHandler {
134134
// If there are errors, don't flood with requests:
135135
if (errorCount < 3) {
136136
try {
137-
const response = await fetch(
137+
// The Node 'fetch' builtin is only supported in Node 21+; allow it here for runtime environments that provide fetch
138+
// eslint-disable-next-line n/no-unsupported-features/node-builtins
139+
const response = await fetch(
138140
// 'http://superconductor-statistics/superconductor/reportUsageStatistics',
139141
// 'http://localhost:2500/superconductor/reportUsageStatistics',
140142
// 'https://faas-ams3-2a2df116.doserverless.co/api/v1/web/fn-7ba9c1fc-f987-4993-b324-a86c98928fcb/telemetry/insert',

apps/app/src/lib/__tests__/resources.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ describe('resourceId generation', () => {
269269
literal<OBSInputSettings>({
270270
...COMMON,
271271
resourceType: ResourceType.OBS_INPUT_SETTINGS,
272-
input: 'mock-input',
272+
input: 'mock-input',
273273
})
274274
)
275275
})
@@ -278,7 +278,7 @@ describe('resourceId generation', () => {
278278
literal<OBSInputAudio>({
279279
...COMMON,
280280
resourceType: ResourceType.OBS_INPUT_AUDIO,
281-
input: 'mock-input',
281+
input: 'mock-input',
282282
})
283283
)
284284
})
@@ -287,7 +287,7 @@ describe('resourceId generation', () => {
287287
literal<OBSInputMedia>({
288288
...COMMON,
289289
resourceType: ResourceType.OBS_INPUT_MEDIA,
290-
input: 'mock-input',
290+
input: 'mock-input',
291291
})
292292
)
293293
})

shared/packages/tsr-bridge/src/sideload/CasparCG.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,20 @@ export class CasparCGSideload implements SideLoadDevice {
120120
// Use helper to parse framerate and calculate duration/frameTime
121121
let duration = 0
122122
let frameTime = ''
123-
if ((media as any).duration != null && typeof (media as any).duration === 'number' && (media as any).duration > 0) {
124-
duration = (media as any).duration
125-
} else {
123+
if (
124+
(media as any).duration != null &&
125+
typeof (media as any).duration === 'number' &&
126+
(media as any).duration > 0
127+
) {
126128
duration = durationFromFrames(media.frames, media.framerate)
127129
}
128130

129-
if (media.frames != null && media.framerate != null && typeof media.frames === 'number' && typeof media.framerate === 'number') {
131+
if (
132+
media.frames != null &&
133+
media.framerate != null &&
134+
typeof media.frames === 'number' &&
135+
typeof media.framerate === 'number'
136+
) {
130137
frameTime = frameTimeFromFrames(media.frames, media.framerate)
131138
}
132139

shared/packages/tsr-bridge/src/sideload/CasparCGTemplates.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ export async function addTemplatesToResourcesFromCasparCGMediaScanner(
6262
let jsonData: MediaScannerTemplateData | null = null
6363

6464
try {
65+
// The Node 'fetch' builtin is only supported in Node 21+; allow it here for runtime environments that provide fetch
66+
// eslint-disable-next-line n/no-unsupported-features/node-builtins
6567
const response = await fetch(`http://${casparCG.host}:8000/templates`)
6668
if (!response.ok) {
6769
throw new Error(`HTTP error! status: ${response.status}`)

shared/packages/tsr-bridge/src/sideload/helpers.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
// Helpers for parsing CasparCG framerates and calculating durations
2-
export function parseCasparFramerate(
3-
raw: number | undefined | null
4-
): number {
2+
export function parseCasparFramerate(raw: number | undefined | null): number {
53
if (raw == null || typeof raw !== 'number' || !isFinite(raw) || raw <= 0) return 0
64

75
// If value looks already like FPS (20-70), return it directly
@@ -34,10 +32,7 @@ export function parseCasparFramerate(
3432
return raw
3533
}
3634

37-
export function durationFromFrames(
38-
frames: number | undefined | null,
39-
rawFramerate: number | undefined | null
40-
): number {
35+
export function durationFromFrames(frames: number | undefined | null, rawFramerate: number | undefined | null): number {
4136
if (frames == null || rawFramerate == null) return 0
4237
const fps = parseCasparFramerate(rawFramerate)
4338
if (!(fps > 0)) return 0
@@ -46,10 +41,7 @@ export function durationFromFrames(
4641
return duration
4742
}
4843

49-
export function frameTimeFromFrames(
50-
framesTotal: number | undefined | null,
51-
rawFramerate: number | undefined | null
52-
): string {
44+
export function frameTimeFromFrames(framesTotal: number | undefined | null, rawFramerate: number | undefined | null): string {
5345
if (framesTotal == null || rawFramerate == null) return ''
5446
const fps = Math.round(parseCasparFramerate(rawFramerate))
5547
if (!(fps > 0)) return ''

0 commit comments

Comments
 (0)