PalisadoesFoundation / talawa-api

API Backend for the Talawa Mobile App. Click on the link below to see our documentation
https://docs.talawa.io/
GNU General Public License v3.0
209 stars 711 forks source link

Upgrade package @typescript-eslint/eslint-plugin from 7.14.1 to 8.0.1 #2462

Closed palisadoes closed 2 weeks ago

palisadoes commented 4 weeks ago

Rationale

  1. This was previously attempted by the automated dependabot job but the PR tests failed.
  2. This issue has been created to fix the issue as there may be multiple dependency requirements that need updating

This is a major revision upgrade and many files may need to be updated to the new syntax, functions, methods and classes

Task

  1. Upgrade the package
  2. Remove this package if it is:
    1. unused
    2. unnecessary. For example:
      1. the functionality can be maintained by using another package we are already using,
      2. If we are using only one function or class in the package you can consider replacing it with code that resides in this repository
      3. It is used by a feature that the end user is unlikely to ever use

Background Failing PRs

Release Note Details

Bumps @typescript-eslint/eslint-plugin from 7.14.1 to 8.0.1.

Release notes

Sourced from @​typescript-eslint/eslint-plugin's releases.

v8.0.1

8.0.1 (2024-08-05)

🩹 Fixes

  • eslint-plugin: [no-unused-vars] ignore imports used only as types (#9694)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

v8.0.0

8.0.0 (2024-07-31)

🚀 Features

  • stricter parent types for the AST (#9560)
  • speed up non-type-aware linting with project service (#8322)
  • v8 integration branch (#9165)
  • ast-spec: remove deprecated type params (#8933)
  • eslint-plugin: remove formatting/layout rules (#8833)
  • eslint-plugin: [prefer-nullish-coalescing] change ignoreConditionalTests default to true (#8872)
  • eslint-plugin: deprecate no-loss-of-precision extension rule (#8832)
  • eslint-plugin: [no-unused-vars] align catch behavior to ESLint 9 (#8971)
  • eslint-plugin: split no-empty-object-type out from ban-types and no-empty-interfaces (#8977)
  • eslint-plugin: remove deprecated no-throw-literal rule (#9092)
  • eslint-plugin: apply initial config changes for v8 (#9079)
  • eslint-plugin: remove no-useless-template-literals (#9207)
  • eslint-plugin: [no-floating-promises] add 'allowForKnownSafeCalls' option (#9234)
  • eslint-plugin: replace ban-types with no-restricted-types, no-unsafe-function-type, no-wrapper-object-types (#9102)
  • eslint-plugin: [no-unused-vars] add reportUnusedIgnorePattern option (#9324)
  • eslint-plugin: [no-unused-vars] support ignoreClassWithStaticInitBlock (#9325)
  • eslint-plugin: [no-unused-vars] handle comma operator for assignments, treat for-of the same as for-in (#9326)
  • eslint-plugin: [no-unused-vars] report if var used only in typeof (#9330)
  • eslint-plugin: [no-floating-promises] disable checkThenables by default for v8 (#9559)
  • eslint-plugin: [return-await] add return-await to strict-type-checked preset (#9604)
  • eslint-plugin: [no-unnecessary-type-parameters] promote to strict (#9662)
  • parser: always enable comment, loc, range, tokens (#8617)
  • rule-tester: support multipass fixes (#8883)
  • rule-tester: switched to flat config (#9603)
  • type-utils: remove getTokenAtPosition (#9444)
  • type-utils: support intersection types in TypeOrValueSpecifier (#9633)
  • typescript-estree: remove slow deprecated and isolated programs (#8834)
  • typescript-estree: split TSMappedType typeParameter into constraint and key (#7065)
  • typescript-estree: rename automaticSingleRunInference to disallowAutomaticSingleRunInference (#8922)
  • typescript-estree: stabilize EXPERIMENTAL_useProjectService as projectService (#9084)

... (truncated)

Changelog

Sourced from @​typescript-eslint/eslint-plugin's changelog.

8.0.1 (2024-08-05)

🩹 Fixes

  • eslint-plugin: [no-unused-vars] ignore imports used only as types

❤️ Thank You

  • Jake Bailey

You can read about our versioning strategy and releases on our website.

8.0.0 (2024-07-31)

🚀 Features

  • stricter parent types for the AST

  • typescript-estree: split TSMappedType typeParameter into constraint and key

  • eslint-plugin: remove formatting/layout rules

  • eslint-plugin: [prefer-nullish-coalescing] change ignoreConditionalTests default to true

  • eslint-plugin: deprecate no-loss-of-precision extension rule

  • eslint-plugin: [no-unused-vars] align catch behavior to ESLint 9

  • typescript-estree: rename automaticSingleRunInference to disallowAutomaticSingleRunInference

  • utils: allow specifying additional rule meta.docs in RuleCreator

  • eslint-plugin: split no-empty-object-type out from ban-types and no-empty-interfaces

  • rule-tester: support multipass fixes

  • typescript-estree: stabilize EXPERIMENTAL_useProjectService as projectService

  • eslint-plugin: remove deprecated no-throw-literal rule

  • eslint-plugin: apply initial config changes for v8

  • eslint-plugin: remove no-useless-template-literals

  • eslint-plugin: [no-floating-promises] add 'allowForKnownSafeCalls' option

  • eslint-plugin: replace ban-types with no-restricted-types, no-unsafe-function-type, no-wrapper-object-types

... (truncated)

Commits
  • e05c2e5 chore(release): publish 8.0.1
  • fbcfaba chore: enable unicorn/no-useless-spread (#9687)
  • 6a9674d fix(eslint-plugin): [no-unused-vars] ignore imports used only as types (#9694)
  • 1db993a chore(release): publish 8.0.0
  • ce09260 docs(eslint-plugin): [no-unnecessary-type-parameters] add admonition about ru...
  • b8274d3 fix(rule-tester): provide Linter a cwd in its constructor (#9678)
  • 1b0468e Merge branch 'main'
  • 838dd0c chore: use parserOptions.projectService internally (#9659)
  • 35cf3d2 chore(release): publish 7.18.0
  • 46a5709 docs: link no-duplicate-type-constituents and no-redundant-type-constituents ...
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Summary by CodeRabbit

Cappybara12 commented 3 weeks ago

@palisadoes can you assign this issue to me?

prayanshchh commented 3 weeks ago

Although this issue was not assigned to me, I still tried solving it (I am a beginner in open-source), so @palisadoes can you please look at package.json and help me understand if i solved this issue or there's something more expected of me.

It did pass all the typechecks (npm run typecheck)

package version in package.json: "@typescript-eslint/eslint-plugin": "^8.0.1", "@typescript-eslint/parser": "^8.0.0", { "name": "talawa-api", "version": "1.0.0", "description": "talawa-api is a backend repository written using Node.js and graphql for generating APIs for the talawa flutter app.", "main": "./build/server.js", "scripts": { "build": "tsc --pretty --project tsconfig.build.json", "dev": "concurrently \"tsx --watch ./src/index.ts\" \"graphql-codegen --watch\"", "prebuild": "graphql-codegen && rimraf ./build", "prod": "cross-env NODE_ENV=production pm2-runtime start ./build/server.js", "start": "cross-env pm2-runtime start ./build/server.js --watch", "setup": "tsx setup.ts", "test": "vitest run --pool forks --poolOptions.forks.singleFork --coverage", "typecheck": "graphql-codegen && tsc --noEmit --pretty", "lint:check": "eslint . --max-warnings=1500", "lint:fix": "eslint . --fix", "lint-staged": "lint-staged", "format:fix": "prettier --write \"**/*.{ts,tsx,json,scss,css}\"", "format:check": "prettier --check \"**/*.{ts,tsx,json,scss,css}\"", "prepare": "husky", "generate:graphql-markdown": "graphql-markdown http://localhost:4000/graphql > docs/Schema.md", "generate:graphql-schema": "get-graphql-schema http://localhost:4000/graphql --json > docs/schema.json", "generate:ssl-private-key": "openssl genrsa -out ./key.pem", "import:sample-data": "tsx ./src/utilities/loadSampleData.ts", "import:sample-data:prod": "node ./build/utilities/loadSampleData.js", "gen:schema": "graphql-inspector introspect ./src/typeDefs/**/**/*.ts --write ./schema.graphql ", "update:toc": "node scripts/githooks/update-toc.js" }, "repository": { "type": "git", "url": "https://github.com/PalisadoesFoundation/talawa-api" }, "keywords": [ "chats", "events", "organization", "community" ], "author": "Palisadoes Foundation", "license": "GNU General Public License v3.0", "bugs": { "url": "https://github.com/PalisadoesFoundation/talawa-api/issues" }, "homepage": "https://github.com/PalisadoesFoundation/talawa-api#readme", "dependencies": { "@apollo/server": "^4.10.5", "@faker-js/faker": "^8.2.0", "@graphql-inspector/cli": "^5.0.6", "@graphql-tools/resolvers-composition": "^7.0.1", "@graphql-tools/schema": "^10.0.4", "@graphql-tools/utils": "^10.3.2", "@parcel/watcher": "^2.4.1", "@types/graphql-upload": "^16.0.5", "@types/yargs": "^17.0.32", "axios": "^1.7.2", "bcryptjs": "^2.4.3", "bluebird": "3.7.2", "cls-hooked": "^4.2.2", "copy-paste": "^1.5.3", "cors": "^2.8.5", "cross-env": "^7.0.3", "date-fns": "^3.3.1", "dotenv": "^16.4.1", "express": "^4.19.2", "express-mongo-sanitize": "^2.2.0", "express-rate-limit": "^7.4.0", "graphql": "^16.9.0", "graphql-depth-limit": "^1.1.0", "graphql-scalars": "^1.20.1", "graphql-subscriptions": "^2.0.0", "graphql-tag": "^2.12.6", "graphql-upload": "^16.0.2", "graphql-voyager": "^2.0.0", "graphql-ws": "^5.16.0", "helmet": "^7.1.0", "i18n": "^0.15.1", "image-hash": "^5.3.1", "ioredis": "^5.4.1", "jsonwebtoken": "^9.0.0", "jwt-decode": "^4.0.0", "lodash": "^4.17.21", "markdown-toc": "^1.2.0", "mongodb": "^6.8.0", "mongoose": "^8.3.2", "mongoose-paginate-v2": "^1.8.3", "morgan": "^1.10.0", "nanoid": "^5.0.7", "nodemailer": "^6.9.14", "pm2": "^5.4.0", "redis": "^4.7.0", "rrule": "^2.8.1", "typedoc-plugin-markdown": "^4.2.3", "uuid": "^10.0.0", "validator": "^13.12.0", "winston": "^3.13.0", "ws": "^8.18.0", "yargs": "^17.7.2", "zod": "^3.23.8", "zod-error": "^1.5.0" }, "devDependencies": { "@graphql-codegen/cli": "^5.0.2", "@graphql-codegen/typescript": "^4.0.9", "@graphql-codegen/typescript-resolvers": "^4.2.1", "@graphql-eslint/eslint-plugin": "^3.20.1", "@parcel/watcher": "^2.4.1", "@types/bcryptjs": "^2.4.6", "@types/cls-hooked": "^4.3.8", "@types/copy-paste": "^1.1.30", "@types/cors": "^2.8.17", "@types/express": "^4.17.17", "@types/express-rate-limit": "^6.0.0", "@types/graphql-depth-limit": "^1.1.6", "@types/i18n": "^0.13.12", "@types/inquirer": "^9.0.7", "@types/jsonwebtoken": "^9.0.5", "@types/lodash": "^4.17.6", "@types/mongoose-paginate-v2": "^1.6.5", "@types/morgan": "^1.9.9", "@types/node": "^20.14.9", "@types/nodemailer": "^6.4.15", "@types/uuid": "^10.0.0", "@types/validator": "^13.12.0", "@typescript-eslint/eslint-plugin": "^8.0.1", "@typescript-eslint/parser": "^8.0.0", "@vitest/coverage-v8": "^1.6.0", "cls-bluebird": "^2.1.0", "concurrently": "^8.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-tsdoc": "^0.3.0", "get-graphql-schema": "^2.1.2", "graphql-markdown": "^7.0.0", "husky": "^9.1.5", "lint-staged": "^15.2.7", "prettier": "^3.3.3", "rimraf": "^6.0.1", "tsx": "^4.16.2", "typescript": "^5.5.4", "vitest": "^1.2.1" }, "overrides": { "graphql-voyager": { "graphql": "^16.6.0" } }, "lint-staged": { "**/*.{ts,json}": [ "prettier --write" ], "**/*.ts": "eslint --fix" } }

palisadoes commented 3 weeks ago

@prayanshchh Please ask the #talawa-apislack channel for assistance

prayanshchh commented 3 weeks ago

I will do it right away

prayanshchh commented 3 weeks ago

@palisadoes can you assign this issue to me?

varshith257 commented 3 weeks ago

@Cappybara12 Any updates?