Búsqueda de sitios web

vue.js - Los consejos de Typescript piensan que un valor de una variable nunca se lee en la plantilla de Vue (por ejemplo, v-for), excepto que sí se lee. TS6133


El editor tampoco sabe el tipo de brIndex. Si elimino brIndex de la propiedad :key, entonces tanto vue/no-unused-vars de eslint (esperado) como el TS6133 aparecen.

Aquí está mi tsconfig.json:

{
  "extends": "@vue/tsconfig/tsconfig.web.json",
  "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
  "compilerOptions": {
    "allowJs": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },

  "references": [
    {
      "path": "./tsconfig.config.json"
    }
  ]
}

tsconfig.config.json:

{
  "extends": "@vue/tsconfig/tsconfig.node.json",
  "include": [
    "vite.config.*",
    "vitest.config.*",
    "cypress.config.*",
    "playwright.config.*"
  ],
  "compilerOptions": {
    "composite": true,
    "types": ["node"],
    "allowJs": true
  }
}

package.json:

{
  "type": "module",
  "scripts": {
    // scripts...
  },
  "dependencies": {
    "vue": "^3.2.45",
    "vue-router": "^4.1.6",
  },
  "devDependencies": {
    "@rushstack/eslint-patch": "^1.1.4",
    "@types/node": "^18.11.17",
    "@vitejs/plugin-vue": "^4.0.0",
    "@vue/eslint-config-typescript": "^11.0.0",
    "@vue/tsconfig": "^0.1.3",
    "eslint": "^8.30.0",
    "eslint-plugin-vue": "^9.8.0",
    "npm-run-all": "^4.1.5",
    "typescript": "~4.7.4",
    "vite": "^4.0.0",
    "vue-tsc": "^1.0.12"
  }
}

Puedo proporcionar cualquier información adicional.

Estoy utilizando el modo de takeover de Volar y tengo "typescript.tsdk": "node_modules/typescript/lib" en el settings.json del espacio de trabajo de vscode. Mi ESLint está configurado correctamente (no difiere del .eslintrc.cjs de un proyecto nuevo) y no hay advertencias de mi editor al respecto.

También tengo mi archivo src/vue-shim.d.ts aunque no sé por qué es necesario en esta configuración, pero hay errores sin él:

declare module '*.vue' {
  import type { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}

Y el archivo /env.d.ts:

/// <reference types="vite/client" />

vite.config.ts tiene la configuración predeterminada de resolve y alias, eso es todo.

La barra inferior se ve normal:

El proyecto en sí se ejecuta normalmente y sin errores.