首页 > 解决方案 > Firebase 在哪里指定使用 ESLint?

问题描述

运行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。

标签: firebasegoogle-cloud-functionseslint

解决方案


这是package.json作为部分的scripts一部分。

从我做的快速测试中,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 和构建。


推荐阅读