chore(root): migrate to biome

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-09-16 12:20:40 +02:00
parent 1f6e198336
commit 32e91959f6
383 changed files with 1943 additions and 3085 deletions

View File

@@ -1,5 +1,5 @@
import { useTransition } from 'react';
import { parseAsInteger, useQueryState } from 'nuqs';
import { useTransition } from 'react';
import { useDebounceValue } from './useDebounceValue';
@@ -9,7 +9,7 @@ export function useCursor() {
'cursor',
parseAsInteger
.withOptions({ shallow: false, history: 'push', startTransition })
.withDefault(0)
.withDefault(0),
);
return {
cursor,
@@ -23,7 +23,7 @@ export type UseDebouncedCursor = ReturnType<typeof useDebouncedCursor>;
export function useDebouncedCursor() {
const [cursor, setCursor] = useQueryState(
'cursor',
parseAsInteger.withDefault(0)
parseAsInteger.withDefault(0),
);
const debouncedCursor = useDebounceValue(cursor, 200);
return {

View File

@@ -1,13 +1,11 @@
import { useEffect } from 'react';
import debounce from 'lodash.debounce';
import { useEffect } from 'react';
export function useDebounceFn<T>(fn: T, ms = 500): T {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call
const debouncedFn = debounce(fn as any, ms);
useEffect(() => {
return () => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
debouncedFn.cancel();
};
});

View File

@@ -1,5 +1,5 @@
import { useCallback, useEffect, useMemo, useState } from 'react';
import debounce from 'lodash.debounce';
import { useCallback, useEffect, useMemo, useState } from 'react';
interface DebouncedState<T> {
value: T;
@@ -10,13 +10,13 @@ interface DebouncedState<T> {
export function useDebounceState<T>(
initialValue: T,
delay = 500,
options?: Parameters<typeof debounce>[2]
options?: Parameters<typeof debounce>[2],
): DebouncedState<T> {
const [value, setValue] = useState<T>(initialValue);
const [debouncedValue, _setDebouncedValue] = useState<T>(initialValue);
const setDebouncedValue = useMemo(
() => debounce(_setDebouncedValue, delay, options),
[]
[],
);
useEffect(() => {
setDebouncedValue(value);

View File

@@ -1,7 +1,7 @@
import { api } from '@/trpc/client';
export function useEventNames(
params: Parameters<typeof api.chart.events.useQuery>[0]
params: Parameters<typeof api.chart.events.useQuery>[0],
) {
const query = api.chart.events.useQuery(params, {
staleTime: 1000 * 60 * 10,

View File

@@ -4,7 +4,7 @@ import type { UseQueryOptions } from '@tanstack/react-query';
export function useEventProperties(
params: RouterInputs['chart']['properties'],
options?: UseQueryOptions<RouterInputs['chart']['properties']>
options?: UseQueryOptions<RouterInputs['chart']['properties']>,
): string[] {
const query = api.chart.properties.useQuery(params, {
staleTime: 1000 * 60 * 10,

View File

@@ -1,4 +1,3 @@
import { useCallback } from 'react';
import type { Options as NuqsOptions } from 'nuqs';
import {
createParser,
@@ -6,6 +5,7 @@ import {
parseAsString,
useQueryState,
} from 'nuqs';
import { useCallback } from 'react';
import type { IChartEventFilterOperator } from '@openpanel/validation';
@@ -34,7 +34,7 @@ export const eventQueryFiltersParser = createParser({
return value
.map(
(filter) =>
`${filter.id},${filter.operator},${filter.value.map((v) => encodeURIComponent(v.trim())).join('|')}`
`${filter.id},${filter.operator},${filter.value.map((v) => encodeURIComponent(v.trim())).join('|')}`,
)
.join(';');
},
@@ -46,7 +46,7 @@ export function useEventQueryFilters(options: NuqsOptions = {}) {
eventQueryFiltersParser.withDefault([]).withOptions({
...nuqsOptions,
...options,
})
}),
);
const setFilter = useCallback(
@@ -59,7 +59,7 @@ export function useEventQueryFilters(options: NuqsOptions = {}) {
| undefined
| null
| (string | number | boolean | undefined | null)[],
operator: IChartEventFilterOperator = 'is'
operator: IChartEventFilterOperator = 'is',
) => {
setFilters((prev) => {
const exists = prev.find((filter) => filter.name === name);
@@ -99,14 +99,14 @@ export function useEventQueryFilters(options: NuqsOptions = {}) {
];
});
},
[setFilters]
[setFilters],
);
return [filters, setFilter, setFilters] as const;
}
export const eventQueryNamesFilter = parseAsArrayOf(parseAsString).withDefault(
[]
[],
);
export function useEventQueryNamesFilter(options: NuqsOptions = {}) {

View File

@@ -27,6 +27,6 @@ export function useFormatDateInterval(interval: IInterval) {
return (date: Date | string) =>
formatDateInterval(
interval,
typeof date === 'string' ? new Date(date) : date
typeof date === 'string' ? new Date(date) : date,
);
}

View File

@@ -46,7 +46,7 @@ export function useNumber() {
},
formatWithUnit: (
value: number | null | undefined,
unit?: string | null
unit?: string | null,
) => {
if (isNil(value)) {
return 'N/A';

View File

@@ -8,7 +8,7 @@ export function useProfileValues(projectId: string, property: string) {
},
{
staleTime: 1000 * 60 * 10,
}
},
);
return query.data?.values ?? [];

View File

@@ -1,7 +1,7 @@
import { api } from '@/trpc/client';
export function usePropertyValues(
params: Parameters<typeof api.chart.values.useQuery>[0]
params: Parameters<typeof api.chart.values.useQuery>[0],
) {
const query = api.chart.values.useQuery(params, {
staleTime: 1000 * 60 * 10,

View File

@@ -1,8 +1,8 @@
'use client';
import { useMemo } from 'react';
import type { IChartData } from '@/trpc/client';
import { getChartColor } from '@/utils/theme';
import { useMemo } from 'react';
export type IRechartPayloadItem = {
id: string;
@@ -45,7 +45,7 @@ export function useRechartDataModel(series: IChartData['series']) {
}
return acc2;
},
{} as Record<string, any>
{} as Record<string, any>,
),
};
}, {}),

View File

@@ -1,5 +1,5 @@
import { useCallback, useEffect, useRef } from 'react';
import throttle from 'lodash.throttle';
import { useCallback, useEffect, useRef } from 'react';
export function useThrottle(cb: () => void, delay: number) {
const options = { leading: true, trailing: false }; // add custom lodash options
@@ -10,6 +10,6 @@ export function useThrottle(cb: () => void, delay: number) {
});
return useCallback(
throttle(() => cbRef.current(), delay, options),
[delay]
[delay],
);
}

View File

@@ -1,18 +1,18 @@
'use client';
import { useEffect, useMemo, useState } from 'react';
import type { IChartData } from '@/trpc/client';
import { useEffect, useMemo, useState } from 'react';
export type IVisibleSeries = ReturnType<typeof useVisibleSeries>['series'];
export function useVisibleSeries(data: IChartData, limit?: number | undefined) {
const max = limit ?? 5;
const [visibleSeries, setVisibleSeries] = useState<string[]>(
data?.series?.slice(0, max).map((serie) => serie.id) ?? []
data?.series?.slice(0, max).map((serie) => serie.id) ?? [],
);
useEffect(() => {
setVisibleSeries(
data?.series?.slice(0, max).map((serie) => serie.id) ?? []
data?.series?.slice(0, max).map((serie) => serie.id) ?? [],
);
}, [data, max]);

View File

@@ -1,8 +1,8 @@
'use client';
import { use, useEffect, useMemo, useState } from 'react';
import { useAuth } from '@clerk/nextjs';
import debounce from 'lodash.debounce';
import { use, useEffect, useMemo, useState } from 'react';
import useWebSocket from 'react-use-websocket';
import { getSuperJson } from '@openpanel/common';
@@ -16,7 +16,7 @@ type UseWSOptions = {
export default function useWS<T>(
path: string,
onMessage: (event: T) => void,
options?: UseWSOptions
options?: UseWSOptions,
) {
const auth = useAuth();
const ws = String(process.env.NEXT_PUBLIC_API_URL)