【问题标题】:Where does Firebase specify using ESLint?Firebase 在哪里指定使用 ESLint?
【发布时间】:2019-05-03 18:16:13
【问题描述】:

在运行firebase init functions 时会询问

Do you want to use ESLint to catch probable bugs and enforce style?

显然,此偏好设置在某个文件中的某个位置。这个文件是什么?如何更改它说我不想使用 ESLint?不,再次运行 firebase init functions 并告诉它我不想使用 ESLint 并没有传达信息。

在我的项目根目录中我看到package.json

"devDependencies": {
    "eslint": "^5.9.0",
    "eslint-config-google": "^0.11.0",
    "eslint-config-standard": "^12.0.0",
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-node": "^8.0.0",
    "eslint-plugin-promise": "^4.0.1",
    "eslint-plugin-standard": "^4.0.0"
  }

是那个文件吗?同样在我的项目根目录中,我查看了firebase.json.firebaserc.eslintrc.json,这些文件并没有说明 ESLint。在我的函数文件夹中有一个package.json,但它没有说明 ESLint。

【问题讨论】:

    标签: firebase google-cloud-functions eslint


    【解决方案1】:

    这作为scripts 部分的一部分放在package.json 中。

    根据我所做的快速测试,linting 在functions/package.json 中定义:

    {
      "name": "functions",
      "description": "Cloud Functions for Firebase",
      "scripts": {
        "lint": "eslint .",
        "serve": "firebase serve --only functions",
        "shell": "firebase functions:shell",
        "start": "npm run shell",
        "deploy": "firebase deploy --only functions",
        "logs": "firebase functions:log"
      },
      ...
    

    如果我查看项目根目录中的 firebase.json,我会看到:

    {
      "functions": {
        "predeploy": [
          "npm --prefix \"$RESOURCE_DIR\" run lint",
          "npm --prefix \"$RESOURCE_DIR\" run build"
        ]
      }
    }
    

    因此,它被配置为在每次部署之前进行 lint 和构建。

    【讨论】:

    • 我的functions/package.json 文件没有"lint": "eslint ." 行。我的 firebase.json 没有 run lint 行。今天早上我想也许我已经在全球范围内安装了 firebase 功能,这可能会覆盖本地版本,所以我尝试了firebase init functions -g,但没有奏效。 firebase deploy 正在从某个地方调用 ESLint v.4.5.0,我不知道在哪里。
    • 我将您文件中的行放入我的文件中,但没有帮助。
    • 更具体地说明您想要什么。我一开始以为你不会想用 eslint,但现在我猜你不能设置它,对吧?
    猜你喜欢
    • 2022-08-18
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    相关资源
    最近更新 更多