Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

340
Visualizações
Eslint dice que todas las enumeraciones en la aplicación TypeScript "ya están declaradas en el ámbito superior"

Al iniciar una nueva aplicación, instalé eslint y la configuré con las siguientes configuraciones, pero cada vez que creo una enum dice que ya se había definido. Incluso cadenas sin sentido. Otros tipos de variables (const, var, let) no tienen este problema. Podría deshabilitar la regla, pero me gustaría que se aplicara en situaciones en las que realmente es cierta.

 { "root": true, "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "parserOptions": { "project": ["./tsconfig.json"], "ecmaFeatures": { "ecmaVersion": 6, "jsx": true } }, "overrides": [], "extends": [ "airbnb-typescript", "prettier", "prettier/@typescript-eslint", "plugin:@typescript-eslint/recommended-requiring-type-checking" ], "rules": { "spaced-comment": 0, "import/prefer-default-export": 0, "@typescript-eslint/no-use-before-define": 0, "@typescript-eslint/restrict-template-expressions": [ 1, { "allowBoolean": true } ], "react/jsx-props-no-spreading": "off", "react/state-in-constructor": 0, "react/require-default-props": 0, "react/destructuring-assignment": [ 1, "always", { "ignoreClassFields": true } ] } }

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
6 Respostas
Responde à pergunta

0

Si es un usuario de TSLint-to-ESLint, este fue un error que ya se solucionó , por lo que volver a ejecutar el script con una versión más nueva también solucionaría el problema, o simplemente deshabilite la no-shadow y habilite @typescript-eslint/no-shadow

Si está utilizando alguna configuración pública que está haciendo un mal uso de la regla, asegúrese de informarles, la cantidad de personas que aún se encuentran con esto es algo asombrosa.


vea @typescript-eslint/no-shadow cómo usar también esta sección de preguntas frecuentes

Cómo utilizar

 { // note you must disable the base rule as it can report incorrect errors "no-shadow": "off", "@typescript-eslint/no-shadow": ["error"] }

La búsqueda de problemas de GitHub de TypeScript-eslint muestra que varias personas preguntan lo mismo.

over 4 years ago · Santiago Trujillo Relatório

0

La respuesta de Tadhg McDonald-Jensen es útil, pero hay una cosa que debe decirse. Escribir los siguientes elementos de configuración directamente en .eslintrc informará un error:

 { // note you must disable the base rule as it can report incorrect errors "no-shadow": "off", "@typescript-eslint/no-shadow": ["error"] }

Aquí hay un ejemplo correcto con la regla de no sombra:

 { "rules": { "no-shadow": "off", "@typescript-eslint/no-shadow": ["error"] }, }
over 4 years ago · Santiago Trujillo Relatório

0

Este error me ocurre cuando declaré una variable con algún nombre del objeto. Olvidé poner el nombre de la variable en minúsculas en lugar de mayúsculas, que es el nombre del objeto. como TypeFile: TypeFile

Solución: Para solucionarlo simplemente ponga el nombre de la variable en minúsculas.

Ejemplo de código que genera este error de Eslint:

Este es mi Enum: type-file-model.ts

 public enum TypeFichier { XML, PDF, IMAGE, ZIP }

Este es mi modelo de objeto app-file-model.ts

 import {TypeFile} from 'app/shared/model/enum/type-file.model'; export interface IAppFile { ... TypeFile?: TypeFile; } export class AppFile implements IAppFile{ constructor( ... public TypeFile?: TypeFile ) {} }
over 4 years ago · Santiago Trujillo Relatório

0

Parece que agregar esto a las "reglas" base no fue suficiente y tuve que agregarlo nuevamente debajo de las anulaciones

 # eslintrc.js { "rules": { // Did not work here as intended "@typescript-eslint/dot-notation": "error", "no-shadow": "off", }, "overrides": [ { "files": [ "*.ts" ], ... "rules": { // Here it worked "@typescript-eslint/dot-notation": "error", "no-shadow": "off", } ] }
over 4 years ago · Santiago Trujillo Relatório

0

Tuve un problema similar con el siguiente código en TypeScript:

 export enum MyEnum { myValueOne = 'myValue', myValueTwo = 'myValueTwo', // <-- got "already declared in the upper scope” error } export class myValueTwo { constructor(){} }

Desafortunadamente, ni rules ni las overrides resolvieron el problema.

 { "rules": { "no-shadow": "off", "@typescript-eslint/no-shadow": ["error"] }, "overrides": { "no-shadow": "off", "@typescript-eslint/no-shadow": ["error"] }, }

Después de pasar algunas horas revisando diferentes problemas, preguntas y documentación sobre el problema, encontré los documentos oficiales de @typescript-eslint/no-shadow . Aqui esta el link

Lo que tuve que hacer es agregar opciones adicionales de ignoreTypeValueShadow en eslint para @typescript-eslint/no-shadow .

Mi configuración final para no-shadow se ve así:

 { "overrides": { "no-shadow": "off", "@typescript-eslint/no-shadow": ["error", , { "ignoreTypeValueShadow": true }] }, }
over 4 years ago · Santiago Trujillo Relatório

0

Logré evitar que apareciera el error usando la siguiente configuración:

 { "rules": { "no-shadow": "off", "@typescript-eslint/no-shadow": ["off"] } }

Use "off" para ambos casos, ya que noto un patrón recurrente en todos los ejemplos que leí, que usan "off" en el primero y "error" en el segundo. Esto me hace dudar de que sea la forma correcta de hacerlo, pero no he podido evitar esos errores de otra forma, ni siquiera usando sobreescritura.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda