Tener instalado graphql-upload, hacer
import { graphqlUploadExpress } from 'graphql-upload';
Y obteniendo este error: Error: No hay "exportaciones" principales definidas en graphql-upload/package.json
Dependencias:
"graphql-upload": "^14.0.0", "graphql": "15.8.0", "graphql-request": "^4.2.0", "graphql-tools": "^8.2.0", "@nestjs/axios": "^0.0.7", "@nestjs/common": "^8.4.1", "@nestjs/config": "^1.1.5", "@nestjs/core": "^8.4.1", "@nestjs/graphql": "^9.1.2", "@nestjs/platform-express": "^8.0.0",La versión del nodo: v16.10.0
Yo personalmente he puesto un ts-ignore para ignorar errores.
// @ts-ignore import GraphQLUpload from 'graphql-upload/GraphQLUpload.js'; // @ts-ignore import Upload from 'graphql-upload/Upload.js';E importaciones así. ¡Espero que pueda ayudar incluso si está sucio!
La biblioteca graphql-upload no tiene ninguna reexportación principal de index.js para todas sus funciones. Tiene exportaciones directas de archivos para todas las funcionalidades específicas. Se especifica en su archivo package.json bajo la clave de exports de la siguiente manera:
"exports": { "./GraphQLUpload.js": "./GraphQLUpload.js", "./graphqlUploadExpress.js": "./graphqlUploadExpress.js", "./graphqlUploadKoa.js": "./graphqlUploadKoa.js", "./package.json": "./package.json", "./processRequest.js": "./processRequest.js", "./Upload.js": "./Upload.js" },Entonces, en lugar de importar directamente desde la raíz del paquete, debe especificar una ruta de submódulo como esta:
import graphqlUploadKoa from "graphql-upload/graphqlUploadKoa.js";
Referencia: package.json de graphql-upload
Entonces, el problema estaba en la configuración de compilación .default. Puede eliminarlo, pero cuando lo eliminamos vimos el problema con otros módulos, por lo que resolvimos este problema a través de esto:
import Upload = require('graphql-upload/Upload.js');Se ve muy sucio, pero funciona.
Puede consultar la conversación sobre este módulo en problemas en GitHub: https://github.com/jaydenseric/graphql-upload/issues/305#issuecomment-1136574019