Búsqueda de sitios web

javascript - ¿Apagar los errores de TypeScript de VSCode para archivos .JS/.JSX y mantenerlos para archivos .TS/.TSX?


Estoy tratando de usar TypeScript así como JavaScript puro. Entonces algunos archivos son archivos JavaScript (.js), mientras que otros son archivos TypeScript (.ts). Esto funciona.

Sin embargo, mi eslint en VSCode me da errores y advertencias de Typescript, incluso en los archivos de javascript normales.

¿Puedo desactivar eso para los archivos .js, pero mantenerlo activado siempre que el archivo sea un .ts/.tsx?

Mis configuraciones de eslint y typescript son solo el ejemplo oficial de typescript de Vercel.

.eslintignore :

**/node_modules/*
**/out/*
**/.next/*

.eslintrc.json :

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:@typescript-eslint/recommended",
    // Uncomment the following lines to enable eslint-config-prettier
    // Is not enabled right now to avoid issues with the Next.js repo
    "prettier",
    "prettier/@typescript-eslint"
  ],
  "env": {
    "es6": true,
    "browser": true,
    "jest": true,
    "node": true
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  },
  "rules": {
    "react/react-in-jsx-scope": 0,
    "react/display-name": 0,
    "react/prop-types": 0,
    "@typescript-eslint/explicit-function-return-type": 0,
    "@typescript-eslint/explicit-member-accessibility": 0,
    "@typescript-eslint/indent": 0,
    "@typescript-eslint/member-delimiter-style": 0,
    "@typescript-eslint/no-explicit-any": 0,
    "@typescript-eslint/no-var-requires": 0,
    "@typescript-eslint/no-use-before-define": 0,
    "@typescript-eslint/no-unused-vars": [
      2,
      {
        "argsIgnorePattern": "^_"
      }
    ],
    "no-console": [
      2,
      {
        "allow": ["warn", "error"]
      }
    ]
  }
}

tsconfig.json :

{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": false,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve"
  },
  "exclude": ["node_modules", ".next", "out", "**/*.js", "**/*.jsx"],
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"] 
}

Respuesta #1

En tu archivo .eslintignore añade esta línea

**/*.js

Por lo cual eslint no revisará ningún archivo *.js.