Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

624
Vistas
uso de la regla de sangría en @ angular-eslint/template

Tengo un proyecto hecho con Angular.

Quiero establecer una regla de sangría para el archivo Angular *.html .

Hago eso en mi .eslintrc :

 { "files": ["*.html"], "extends": [ "plugin:@angular-eslint/template/recommended" ], "rules": { "indent": [2, 2] } }

Pero esto me da el siguiente error:

 TypeError: Cannot read property 'start' of undefined

no entiendo porque


Mi .eslintrc completo

 { "root": true, "ignorePatterns": ["projects/**/*"], "plugins": ["import"], "rules": { "import/no-extraneous-dependencies": [ 2, { "devDependencies": ["**/*spec.ts"] } ], "quotes": [ 2, "single" ], "padded-blocks": "off", "no-plusplus": "off", "object-curly-spacing": [2, "always"], "space-in-parens": [2, "never"], "keyword-spacing": 2, "comma-spacing": 2, "comma-dangle": [2, { "arrays": "always-multiline", "objects": "always-multiline", "functions": "always-multiline" }], "key-spacing": 2, "space-infix-ops": 2, "arrow-spacing": 2 }, "overrides": [ { "files": ["*.ts", "*.js", "*.tsx"], "parserOptions": { "project": ["tsconfig.json"], "createDefaultProgram": true }, "plugins": [ "promise", "jsdoc", "import" ], "extends": [ "plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates" ], "rules": { "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "prefix": "fbo", "style": "camelCase" } ], "@angular-eslint/component-selector": [ "error", { "type": "element", "prefix": "fbo", "style": "kebab-case" } ], "indent": [2, 2], "max-lines-per-function": ["error", 75], "promise/catch-or-return": "error", "promise/always-return": "off", "promise/no-return-wrap": "error", "promise/param-names": "error", "promise/no-native": "off", "promise/no-nesting": "warn", "promise/no-promise-in-callback": "warn", "promise/no-callback-in-promise": "warn", "promise/avoid-new": "off", "promise/no-new-statics": "error", "promise/no-return-in-finally": "warn", "promise/valid-params": "warn", "no-useless-constructor": "off", "@typescript-eslint/no-useless-constructor": 2, "import/extensions": "off", "import/prefer-default-export": "off", "@typescript-eslint/no-unused-vars": 2, "no-console": 2, "@typescript-eslint/no-explicit-any": 2, "semi": 2, "linebreak-style": [2, "unix"], "jsdoc/newline-after-description": 0, "jsdoc/no-undefined-types": 0, "jsdoc/check-access": 2, "jsdoc/check-alignment": 2, "jsdoc/check-param-names": 2, "jsdoc/check-property-names": 2, "jsdoc/check-tag-names": 2, "jsdoc/check-types": 2, "jsdoc/check-values": 2, "jsdoc/empty-tags": 2, "jsdoc/implements-on-classes": 2, "jsdoc/require-jsdoc": ["error", { "require": { "FunctionDeclaration": true, "MethodDefinition": true, "ClassDeclaration": false, "ArrowFunctionExpression": false, "FunctionExpression": false } }], "jsdoc/require-description": 2, "jsdoc/require-param": 2, "jsdoc/require-param-description": 2, "jsdoc/require-param-name": 2, "jsdoc/require-param-type": 2, "jsdoc/require-property": 2, "jsdoc/require-property-description": 2, "jsdoc/require-property-name": 2, "jsdoc/require-property-type": 2, "jsdoc/require-returns": 2, "jsdoc/require-returns-check": 2, "jsdoc/require-returns-description": 2, "jsdoc/require-returns-type": 2, "jsdoc/require-yields": 2, "jsdoc/require-yields-check": 2, "jsdoc/valid-types": 2, "@typescript-eslint/explicit-function-return-type": 2, "@typescript-eslint/naming-convention": [ "error", { "selector": "interface", "format": ["PascalCase"], "custom": { "regex": "^I[AZ]", "match": true } }, { "selector": "class", "format": ["PascalCase"] } ], "@typescript-eslint/member-ordering": 2 } }, { "files": [ "*.html" ], "extends": [ "plugin:@angular-eslint/template/recommended" ], "rules": { "indent": [2, 2] } } ] }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si usa prettier y eslint al mismo tiempo, la propiedad de sangría del primero no coincide con la propiedad de sangría del último. Mi sugerencia es, si usa más bonito, deshabilitar la regla de sangría de eslint.

Por otro lado, si está utilizando eslint, solo intente reemplazar la propiedad de sangría con lo siguiente:

indent: [2, 2, { SwitchCase: 1}]

¿Por qué SwitchCase?

  • La sangría de 2 espacios con SwitchCase establecido en 0 no sangrará las cláusulas de mayúsculas y minúsculas con respecto a las declaraciones de cambio.
  • La sangría de 2 espacios con SwitchCase establecido en 1 sangrará las cláusulas de caso con 2 espacios con respecto a las declaraciones de cambio.
  • La sangría de 2 espacios con SwitchCase establecido en 2 sangrará las cláusulas de caso con 4 espacios con respecto a las declaraciones de cambio.
  • La sangría de tabulación con SwitchCase establecido en 2 sangrará las cláusulas de caso con 2 tabulaciones con respecto a las declaraciones de cambio.

Si necesita información al respecto: eslint docs .

Déjame saber si funciona.

Que tenga un lindo día.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda