Вводные данные такие:
У меня MacBook Pro M1, NodeJS 22.x, установлено через NVM, typescript 5.8.x
Есть код:
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
import type { InferOutput } from 'valibot';
import { object, string } from 'valibot';
export const SomeItemSchema = object({
name: string(),
url: string(),
});
type SomeItem = InferOutput<typeof SomeItemSchema>
const rootApi = createApi({
baseQuery: fetchBaseQuery({ baseUrl: 'https://pokeapi.co/api/v2/' }),
endpoints: () => ({}),
});
const apiWithTag = rootApi.enhanceEndpoints({ addTagTypes: ['pokemons'] });
export const pokemonApi = apiWithTag.injectEndpoints({
endpoints: (builder) => ({
getSomeItems: builder.query<SomeItem[], void>({
query: () => ({
url: 'item',
}),
providesTags: ['pokemons'],
}),
}),
});
export const { useGetSomeItemsQuery } = pokemonApi;
import { useGetSomeItemsQuery } from './api';
export function useSomeItems() {
const { isLoading, isFetching, data } = useGetSomeItemsQuery();
return {
isLoading,
isFetching,
data,
};
}
Проблема следующая, в данном месте
const { isLoading, isFetching, data } = useGetSomeItemsQuery();
я получаю ошибку
Type instantiation is excessively deep and possibly infinite.ts(2589)
Эта ошибка есть
только на моём маке (других маков у меня нет, проверить не могу), на домашем ПК c Windows - всё ок, на ноуте с Linux - всё oк.
Что я сделал:
1) полностью переустанавливал все зависимости npm со сбросом кэша;
2) использовал разные версии typescript;
3) переустанавливал nodejs / npm;
Результата 0. Куда можно копать дальше?