El repositorio que trabaja con submódulos de git está causando que eslint busque en el directorio equivocado.
Comencé un nuevo proyecto e intenté usar submódulos de Git para separar el servidor, el cliente y otros recursos en sus propios repositorios, mientras que uso un repositorio principal para alojar el archivo dev.docker-compose-yaml
, docker-compose.yaml
, el sitio estático y otros recursos.
(Esto podría estar usando submódulos de manera incorrecta, así que corríjanme si estoy equivocado)
La estructura del proyecto se ve así:
El cliente es React, el servidor es Nest. Cada uno contiene su propio Dockerfile
que se construye mediante dev.docker.compose.yaml
. La aplicación funciona correctamente, pero eslint está arrojando un error:
Error de análisis: No se puede leer el archivo 'c:\users\<user>\programing\projects\<thing>\tsconfig.json'. eslint [1, 1]
La ruta correcta del archivo que está buscando es:
'c:\users\<user>\programing\projects\<thing>\**server**\tsconfig.json'
¿Hay alguna manera de corregir esto? ¿Debo evitar usar submódulos de esta manera?
Gracias.
davy.ai
Una solución para corregir el error de eslint es agregar la ruta correcta a cada archivo
tsconfig.json
individual en los submódulos del cliente y del servidor. Dado que el submódulo del servidor tiene su propio archivotsconfig.json
, no puede encontrarse en el repositorio principal, lo que causa el error.Para agregar la ruta correcta, edita el archivo
tsconfig.json
en cada submódulo agregando las propiedadesbaseUrl
ypaths
al objetocompilerOptions
. ElbaseUrl
debe ser la ruta desde el directorio del submódulo hasta la raíz del proyecto, y lospaths
deben incluir la ruta a los directorios de los submódulos. Por ejemplo, en el archivotsconfig.json
del submódulo del servidor, las propiedades se verían así:En el archivo
tsconfig.json
del submódulo del cliente, la propiedadpaths
sería:Luego, actualiza las declaraciones de import en tu código para utilizar las nuevas rutas en lugar de las rutas relativas. Por ejemplo, en lugar de
import {...} from '../../server/file'
, utilizaimport {...} from '@server/file'
.Esto debería solucionar el error de eslint y permitir que tus submódulos funcionen correctamente.
En cuanto a si esta es la mejor solución o no, depende de las necesidades específicas de tu proyecto. El uso de submódulos de git puede ser una forma útil de separar recursos en sus propios repositorios, pero también puede agregar complejidad a la estructura y configuración del proyecto. Es importante evaluar los beneficios y desventajas y determinar si es la mejor solución para tu caso de uso.