typescript - Estoy recibiendo errores de eslint no-unsafe-call y no-unsafe-assignment en una función importada aunque la función esté tipada
Estoy recibiendo errores de eslint no-unsafe-call y también no-unsafe-assignment al importar una función tipada. Si la función se declara en el mismo archivo, el error desaparece. Parece que eslint no puede obtener el tipo de retorno de la función importada.
En useWorkspaceMessages.ts
export interface WorkspaceMessage {
message: string;
created: string;
}
export default function useWorkspaceMessages(): WorkspaceMessage[] {
return [];
}
En app.tsx
import useWorkspaceMessages, {
WorkspaceMessage,
} from 'useWorkspaceMessages';
const workspaceMessages: WorkspaceMessage[] = useWorkspaceMessages();
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
error Unsafe call of an any typed value @typescript-eslint/no-unsafe-call
Si declaro useWorkspaceMessages y la interfaz WorkspaceMessage en app.tsx, el error desaparece.
Respuesta #1
Descubrí qué estaba mal. Tenía un error en mi .eslint.js
mi parserOptions.project estaba apuntando al directorio incorrecto para tsconfig.json. Lamentablemente, eslint no se queja de esto.