akauppi / GroundLevel-firebase-es

[ANCHORED] Stencil for operational web apps
https://groundlevel-sep22.web.app/
Other
23 stars 3 forks source link

ESLint is broken - because of `async-retry` #93

Closed akauppi closed 2 years ago

akauppi commented 2 years ago

Preparation:

Steps:

$ npm run lint

Expected:

Actual:

ESLint: 8.12.0

ESLint couldn't find the config "airbnb" to extend from. Please check that the name of the config is correct.

The config "airbnb" was referenced from the config file in "/Users/asko/Git/GroundLevel-firebase-es/packages/backend/tmp/functions-node_modules/async-retry/package.json".

If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.

The package async-retry, used by firebase-admin (via functions):

$ npm list async-retry
functions@ /Users/asko/Git/GroundLevel-firebase-es/packages/backend/functions
└─┬ firebase-admin@10.2.0
  └─┬ @google-cloud/storage@5.20.5
    └── async-retry@1.3.3

...has the rules as devDependency but us running a Lint somehow picks them up. async-retry has this in its package.json:

  "eslintConfig": {
    "extends": [
      "airbnb",
      "prettier"
    ],
    "rules": {
      "no-var": 0,
      "prefer-arrow-callback": 0
    }
  },

Is this normal? Haven't met with any other packages.

Is it the job of async-retry, firebase-admin, or us to fix it?

Don't want to bring in outside ESLint rules (such as this airbnb) that we're not needing, ourselves. It should be an internal development detail of async-retry, right?


Note: To help debug this, bring up the functions/ dependencies on development account by:

$ cd backend/functions
$ NO_GUARD=1 npm install
akauppi commented 2 years ago

Closing here. Will handle in the async-retry issues.