在供应商文件夹中启用 ESlint - Laravel VueJs

Enable ESlint in vendor folder - Laravel VueJs

如何在 Laravel 供应商文件夹中启用 eslint?

主要开发发生在 vendor 文件夹中。我们的项目基于 Laravel 包。 我在 "root" 项目中启用并配置了 eslint,它工作正常。目前在 PHPStorm 工作并在其中使用 eslint。

.eslintrc.json

{
    "env": {
        "es6": true,
        "node": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:vue/essential",
        "plugin:prettier/recommended"
    ],
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parserOptions": {
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "plugins": [
        "vue",
        "prettier"
    ],
    "rules": {
        "no-unused-vars": "warn"
    }
}

.prettierrc.json

{
    "trailingComma": "es5",
    "tabWidth": 4,
    "semi": false,
    "singleQuote": true
}

resources/js/components/App.vue - 修复 ESlint 问题:

但在供应商包中它没有。

vendor\testpackage\uitest01\recources\js\components\TestTwoComponent.vue - 未提供修复 ESlint 问题:

任何想法如何启用它? 谢谢!

在 Laravel 项目中,供应商包会自动添加到 PHP 包含路径,因此被视为库。但是库文件中没有启用检查,也没有为它们报告 linter 错误。尝试从 Settings 的 Include Path 列表中删除您的包 |语言与框架 | PHP:

然后取消排除 vendor/testpackage/uitest01 文件夹。这应该有帮助:

永久删除包作为库:

设置中 |语言与框架 | PHP | Composer,尝试禁用 Add packages as libraries 以避免自动将包添加到 Include path(然后您需要添加您希望手动将其视为库的包)