Búsqueda de sitios web

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.

Artículos relacionados