Tenho as minhas regras de eslinting da seguinte forma
module.exports = { env: { es6: true, node: true, mocha: true }, extends: [ "standard-with-typescript" ], parser: '@typescript-eslint/parser', globals: { Atomics: 'readonly', SharedArrayBuffer: 'readonly' }, parserOptions: { ecmaVersion: 2018, sourceType: 'module', project: "./tsconfig.json" }, rules: { "quotes": ["warn", "single"], "indent": ["warn", "tab", { "ig Ler mais →Em TypeScript tenho:
try { } catch(err) { }blocos e blocos catch sem argumento:
try { } catch { }Nas regras do ESLint eu tenho (excerto editado de eslint.yaml):
space-before-function-paren: [error, {anonymous: never, named: never, asyncArrow: always}] space-before-blocks: warn keyword-spacing: [warn, {before: true, after: false, overrides: {catch: {after: true}}}]Com estas regras, o ESLint queixa-se d
Ler mais →Digamos que temos estas três expressões verificadas pelo eslint:
const exp1 = a ?? b; // ok const exp2 = a?.b // ok const exp3 = a?.b ?? c // Parsing error: ':' expected.Tudo funciona e é compilado com sucesso com TypeScript, mas a última expressão dá erro do eslint Parsing error: ':' expected. Parece que há um problema com a combinação de Nullish coalescing e optional chaining. Alguém já se deparou com este problema?
package.json
Ler mais →
Estou a usar o IDE WebStorm para o meu projeto TypeScript com ESLint e Prettier ativados. Estou a receber um aviso:
para este código:
import { ToastAndroid } from 'react-native'; import { TProjectsList, IProject } from '../types'; export const reduceR Ler mais →Estou a tentar usar o Eslint para aplicar PascalCase nos meus componentes React. Já examinei todos os plugins/regras existentes que consegui encontrar, e aqui estão os meus problemas:
Estou a usar Typescript (extensões .tsx), por isso react/jsx-pascal-case não vai funcionar para mim. Para ficheiros que não são componentes, quero permitir kebab-case, por isso gostaria de filtrar apenas ficheiros com a extensão .tsx.
TL;DR - Gostaria de uma regra do Eslint para impo
Ler mais →Tendo a codificar acidentalmente algumas strings diretamente, como o nome da aplicação, em mensagens de erro. Tenho o nome disponível numa constante, mas esqueço-me de usá-la e escrevo o nome da aplicação num elemento JSX ou numa string TypeScript. O projeto usa ESLint para validação de código. O ESLint tem alguma regra ou plugin para verificar o conteúdo de elementos JSX e strings TypeScript à procura de palavras/frases proibidas?
Ler mais →Estou a tentar adicionar uma regra lint-staged como eslint --max-warnings=0, mas usando tslint. Então, a questão é se isso é possível e, em caso afirmativo, como? Nada de útil no site da documentação deles.
Ler mais →Quando tentei criar um hook personalizado, deparei-me com alguns problemas. O ESLint não me sugeriu subscritores para o useEffect. (fetch não tinha sido sugerido e eu preenchi manualmente) Também tentei o eslint-plugin-react-hooks, mas também não funciona.
useEffect(() => { fetch(); }, [fetch]);Mesmo problema para useCallback
código completo do hook personalizado
import { useState, useEffect, useCallback } from "react"; import { serv Ler mais →TypeScript/ESLint/Prettier tornaram-se as minhas ferramentas favoritas para todos os tipos de tarefas. No entanto, ainda tenho dificuldades com pequenos scripts Nodejs que têm apenas algumas dezenas de linhas de código. Para escrever um pequeno script Nodejs com uma experiência confortável de IDE, preciso de:
Nos meus projetos Angular9 e Angular10, consegui criar mixins usando os passos abaixo do blog Harnessing the power of Mixins in Angular
constructor.mixin.ts
export type Constructor<T = {}> = new (...args: any[]) => T;my-mixin.mixin.ts
import {Constructor} from './constructor.mixin'; import {BehaviorSubject} from 'rxjs'; export const myMixin = <T exte Ler mais →