Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

662
Views
"parserOptions.project" se ha configurado para @typescript-eslint/parser

Creé un nuevo proyecto React Native con --template typescript

Eliminé el directorio de template que venía como parte del modelo.

Luego procedí a agregar ESLint:

 module.exports = { parser: "@typescript-eslint/parser", plugins: ["@typescript-eslint"], extends: ["airbnb-typescript-prettier"] };

Sin embargo, cuando abro babel.config.js , aparece este error

Error de análisis: "parserOptions.project" se ha configurado para @typescript-eslint/parser.

El archivo no coincide con la configuración de su proyecto: /Users/Dan/site/babel.config.js .

El archivo debe estar incluido en al menos uno de los proyectos provistos.eslint

over 4 years ago · Santiago Trujillo
20 answers
Answer question

0

Debe agregar ese archivo a su matriz de include tsconfig. Consulte typescript-eslint/typescript-eslint#967 para obtener más detalles.

over 4 years ago · Santiago Trujillo Report

0

Diferentes reglas de pelusa para archivos JavaScript y TypeScript

El problema ocurre por una de las siguientes razones:

  1. Está utilizando una regla que requiere información de tipo y no especificó un parserOptions.project ;
  2. Usted especificó parserOptions.project , no especificó createDefaultProgram ( se eliminará en una versión futura ) y está eliminando archivos que no están incluidos en el proyecto (por ejemplo, babel.config.js , metro.config.js )

A partir de los documentos de TypeScript ESLint Parser :

parserOptions.proyecto

Esta opción le permite proporcionar una ruta al tsconfig.json de su proyecto. Esta configuración es necesaria si desea utilizar reglas que requieran información de tipo.

(...)

Tenga en cuenta que si se especifica esta configuración y createDefaultProgram no, solo debe litear los archivos que se incluyen en los proyectos según lo definido por los archivos tsconfig.json proporcionados. Si su configuración existente no incluye todos los archivos que le gustaría eliminar, puede crear un tsconfig.eslint.json separado.

Para resolverlo, actualice su configuración de ESLint para usar reglas de TypeScript solo en archivos de TypeScript:

 { // ... parser: '@typescript-eslint/parser', plugins: ["@typescript-eslint"], overrides: [ { files: ['*.ts', '*.tsx'], // Your TypeScript files extension // As mentioned in the comments, you should extend TypeScript plugins here, // instead of extending them outside the `overrides`. // If you don't want to extend any rules, you don't need an `extends` attribute. extends: [ 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', ], parserOptions: { project: ['./tsconfig.json'], // Specify it only for TypeScript files }, }, ], // ... }

Puede leer más sobre la configuración de overrides en los documentos oficiales: ¿Cómo funcionan las anulaciones?


No lint un archivo específico

Si no desea borrar el archivo que se menciona en el error (por ejemplo, babel.config.js ), puede ignorarlo agregando su nombre al archivo .eslintignore :

 babel.config.js

De todos modos, el paso anterior (sobre la anulación de la configuración de los archivos TypeScript) es importante en caso de que su proyecto contenga archivos JavaScript y TypeScript que desee eliminar.

También puede crear otras anulaciones para diferentes situaciones, por ejemplo, una configuración diferente para los archivos de prueba, ya que puede usar las dependencias del desarrollador y ejecutarse en el entorno del node , en lugar del browser .

over 4 years ago · Santiago Trujillo Report

0

Tuve este problema en VsCode cuando estaba abriendo mi proyecto demasiado alto en la estructura de carpetas. Una solución extraña pero funcionó.

En mi ejemplo, el proyecto de funciones de Firestore para express en .ts, tuve que abrirlo desde la carpeta de funciones que creó.

Debería haber notado que era este tipo de problema ya que 'npm run-script lint' nunca devolvió un error.

over 4 years ago · Santiago Trujillo Report

0

Agregue una línea en ".eslintignore":

.eslintrc.js

over 4 years ago · Santiago Trujillo Report

0

Puede crear un archivo de configuración de TypeScript independiente ( tsconfig.eslint.json ) destinado a la configuración de eslint . Ese archivo amplía la configuración de tsconfig y las configuraciones include la clave para los archivos que se deben eliminar.

.eslint.js :

 // ... parserOptions: { // ... project: "./tsconfig.eslint.json", // ... }, // ...

tsconfig.eslint.json :

 { "extends": "./tsconfig.json", "include": [ // ... "babel.config.js" ] }

O si quiere ignorarlo, puede ponerlo en .eslintignore .

.eslintignore :

 // ... babel.config.js
over 4 years ago · Santiago Trujillo Report

0

Utilizo un enlace simbólico desde la carpeta de mi proyecto que apunta a mi carpeta de inicio:

/opt/project/workspace => ~/worspace

Al abrir el VSCode usando la ruta del enlace simbólico ~/workspace el error siempre persiste.

Abrir VSCode usando la ruta original: /opt/project/workspace resuelve el problema.

Esto no debería ser un problema, pero por ahora lo es.

over 4 years ago · Santiago Trujillo Report

0

En mi configuración de ESLint tengo la siguiente configuración:

.eslintrc.js

 module.exports = { root: true, env: { node: true, }, globals: { Promise: "readonly" }, parser: "@typescript-eslint/parser", parserOptions: { sourceType: "module", tsconfigRootDir: __dirname, project: ["./tsconfig.eslint.json"], }, plugins: ["@typescript-eslint"], extends: [ "eslint:recommended", "prettier/@typescript-eslint", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", ], }

Actualizar La parte clave de la solución es esta:

 parser: "@typescript-eslint/parser"

y esto:

 parserOptions: { sourceType: "module", tsconfigRootDir: __dirname, project: ["./tsconfig.eslint.json"], // could be tsconfig.json too }

No olvide incluir ese archivo o el directorio del archivo en la matriz de include de tsconfig.json.

over 4 years ago · Santiago Trujillo Report

0

En nuestro caso, tenemos múltiples .eslintrc y múltiples tsconfig.json en nuestro árbol de directorios. (Uno para el servidor en . y otro para el cliente React en ./client ).

Esto funcionó bien con la CLI, pero no con el complemento de VS Code.

La solución fue establecer el valor del project ./client/.eslintrc para que fuera relativo a la raíz , no al archivo .eslintrc. Después de cambiarlo de "./tsconfig.json" a "./client/tsconfig.json", el IDE funciona como se esperaba.

over 4 years ago · Santiago Trujillo Report

0

  1. Ejecute npm i -D @types/node

  2. Incluir compatibilidad con texto mecanografiado para archivos *.config.js :

tsconfig.json :

 { "include": [ "**/*.config.js" // for *.config.js files ] }

¡Y luego recarga tu IDE!

over 4 years ago · Santiago Trujillo Report

0

Para mí, el problema se origina en algunos archivos ignorados en tsconfig usando la propiedad de exclude , pero eslint no los ignora.

Por lo general, si uno quiere que TSC ignore los archivos, entonces se aplicará lo mismo a eslint. así que simplemente copie y pegue el valor de exclude en la configuración de .tsconfig en la propiedad ignorePatterns en la configuración de .eslintrc .

over 4 years ago · Santiago Trujillo Report

0

Estaba teniendo el mismo problema al agregar '@typescript-eslint/prefer-nullish-coalescing': 'error' a .eslintrc.js .

Después de mucho ensayo y error, se me ocurrió esta solución, que funciona bien en mi caso:

 module.exports = { ... overrides: [ { files: ['*.ts', '*.tsx'], parserOptions: { // this setting is required to use rules that require type information project: './tsconfig.json', }, rules: { '@typescript-eslint/prefer-nullish-coalescing': 'error', }, }, ], }
over 4 years ago · Santiago Trujillo Report

0

Simplemente indique a eslint que los ignore agregando la opción ignorePatterns a su .eslintrc.js :

 module.exports = { root: true, parser: '@typescript-eslint/parser', parserOptions: { project: './tsconfig.json', }, ignorePatterns: ["babel.config.js"], ...

Como no tiene mucho valor limpiar los archivos de configuración de su proyecto, puede ignorarlos con seguridad.

Además, no los haría parte de su tsconfig.json ni crearía un archivo especial tsconfig.eslint.json , solo para fines de pelusa.

over 4 years ago · Santiago Trujillo Report

0

¿Este error proviene de la extensión VSCode? ¿El error tiene una ruta relativa que va al nivel superior aunque esté en la misma carpeta (o subcarpeta) (como se muestra en el mensaje de error a continuación)?

 Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. The file does not match your project config: ../../../../../home/<ommitted>/projects/floor-planner/app/src/App.vue. The file must be included in at least one of the projects provided.

Si es así, compruebe si también persiste al utilizar la CLI.

Desde la raíz de su proyecto, puede ejecutar eslint . . Si no se encuentran esos errores, es muy probable que haya abierto el proyecto a través de un enlace simbólico .

A partir de agosto de 2021, la extensión Eslint no funciona con Symlinks.

Desde el directorio de su proyecto, ejecute pwd -P para obtener la ruta absoluta.

En mi caso, esto da como resultado

 ~/projects/floor-planner/app: pwd -P /media/projects/2021-Q3/floor-planner/app

Abra el proyecto a través de este camino.

Eslint ya no debería mostrar el error.

over 4 years ago · Santiago Trujillo Report

0

Establezca parserOptions en .eslintrc como se muestra a continuación

 "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": 2019, "sourceType": "module" },
over 4 years ago · Santiago Trujillo Report

0

Pasé mucho tiempo en un problema como este.

Había creado un jest.config.ts en lugar de jest.config.js , por lo que arrojaba este error exacto de eslint🤦

over 4 years ago · Santiago Trujillo Report

0

Me encontré con este problema hoy, y ninguna de las soluciones anteriores ayudó. El problema que tuve fue que tenía dos archivos en el mismo directorio que compartían el mismo nombre de archivo (sin extensión). Por ejemplo, src/foo.ts y src/Foo.tsx . Cambiar el nombre de uno de los archivos solucionó el error de linter. Consulte @typescript-eslint/parser#955 .

over 4 years ago · Santiago Trujillo Report

0

Solo necesitaba agregar la ruta al nuevo tsconfig.json en la matriz del project y el script eslint y el problema desapareció.

tsconfig.json :

 project: ["./newfolder/tsconfig.json"]

package.json :

 "eslint": "eslint -c ./.eslintrc.js './newfolder/**/*.ts'"
over 4 years ago · Santiago Trujillo Report

0

Simplemente agregue el siguiente código dentro del archivo .eslintrc.js.

 ignorePatterns: ['.eslintrc.js']
over 4 years ago · Santiago Trujillo Report

0

Mi problema en PHPStorm es que tenía configurado el director de trabajo:

ingrese la descripción de la imagen aquí

Aclaré eso y todo funcionó :\

over 4 years ago · Santiago Trujillo Report

0

El error significa que hay un archivo que se puede compilar pero que no pertenece a la estructura del proyecto definida actualmente. hay varias soluciones:

Si no le importa si el archivo está compilado (es decir, archivos de configuración y demás)

  • agregue el nombre de archivo a .eslintignore

o

  • agregue el archivo o patrón de archivo al archivo .eslintrc.js
 ignorePatterns: ["babel.config.js"] // or ignorePatterns: ["**/*.config.js"]

Quieres que el archivo se compile

agregue el archivo, la carpeta o el patrón al archivo tsconfig.json

 include": [ "src", "other_src", ]

NOTA: algunos cambios necesitan reiniciar el IDE para que surtan efecto

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!