Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

💅 Ignore of useAwait breaks if function body contains ignore of noExplicitAny #5090

Closed
1 task done
tbossi opened this issue Feb 11, 2025 · 1 comment
Closed
1 task done
Labels
S-Needs triage Status: this issue needs to be triaged

Comments

@tbossi
Copy link

tbossi commented Feb 11, 2025

Environment information

CLI:
  Version:                      1.8.3
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           "v22.12.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         unset

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 false

Linter:
  JavaScript enabled:           true
  JSON enabled:                 true
  CSS enabled:                  true
  Recommended:                  false
  All:                          false
  Enabled rules:
  complexity/noBannedTypes
  performance/noDelete
  suspicious/noUnsafeNegation
  style/useAsConstAssertion
  suspicious/noMisleadingInstantiator
  suspicious/noDebugger
  complexity/noUselessLoneBlockStatements
  suspicious/useValidTypeof
  suspicious/useGetterReturn
  complexity/noEmptyTypeParameters
  correctness/noConstructorReturn
  performance/noReExportAll
  suspicious/noExtraNonNullAssertion
  style/useNamingConvention
  style/useTemplate
  correctness/noUnusedLabels
  complexity/noUselessTernary
  security/noGlobalEval
  suspicious/noExplicitAny
  complexity/useFlatMap
  correctness/noUnusedVariables
  complexity/noExcessiveCognitiveComplexity
  complexity/noUselessTypeConstraint
  style/useNodejsImportProtocol
  style/noVar
  suspicious/noDoubleEquals
  style/useForOf
  performance/noAccumulatingSpread
  suspicious/noConfusingLabels
  correctness/noPrecisionLoss
  suspicious/noUnsafeDeclarationMerging
  complexity/noUselessThisAlias
  correctness/noUnreachable
  style/useFilenamingConvention
  complexity/useRegexLiterals
  style/noUselessElse
  correctness/noUnusedPrivateClassMembers
  complexity/noUselessCatch
  style/useBlockStatements
  style/useCollapsedElseIf
  complexity/noUselessRename
  style/useNumberNamespace
  complexity/noUselessConstructor
  suspicious/useAwait
  style/useEnumInitializers
  style/noUnusedTemplateLiteral
  complexity/noUselessSwitchCase
  style/noDefaultExport
  complexity/noStaticOnlyClass
  style/useWhile
  complexity/useArrowFunction
  style/noCommaOperator
  suspicious/useDefaultSwitchClauseLast
  correctness/noUnnecessaryContinue
  style/noNamespace
  suspicious/useIsArray
  suspicious/noMisrefactoredShorthandAssign
  performance/noBarrelFile
  correctness/noUnusedImports

Workspace:
  Open Documents:               0

Rule name

lint/suspicious/useAwait

Playground link

https://biomejs.dev/playground/?lintRules=all&code=ZQB4AHAAbwByAHQAIABjAGwAYQBzAHMAIABUAGUAcwB0AEMAbABhAHMAcwAgAHsACgAKACAAIAAvAC8AIABiAGkAbwBtAGUALQBpAGcAbgBvAHIAZQAgAGwAaQBuAHQALwBzAHUAcwBwAGkAYwBpAG8AdQBzAC8AdQBzAGUAQQB3AGEAaQB0ADoAIAB3AGgAYQB0AGUAdgBlAHIACgAgACAAYQBzAHkAbgBjACAAdwByAG8AbgBnADEAKABzAG8AbQBlAHQAaABpAG4AZwA6ACAAdQBuAGsAbgBvAHcAbgApADoAIABQAHIAbwBtAGkAcwBlADwAcwB0AHIAaQBuAGcAPgAgAHsACgAgACAAIAAgAC8ALwAgAGIAaQBvAG0AZQAtAGkAZwBuAG8AcgBlACAAbABpAG4AdAAvAHMAdQBzAHAAaQBjAGkAbwB1AHMALwBuAG8ARQB4AHAAbABpAGMAaQB0AEEAbgB5ADoAIABpAHQAIABpAHMAIAB3AGgAYQB0ACAAaQB0ACAAaQBzAAoAIAAgACAAIAByAGUAdAB1AHIAbgAgACgAcwBvAG0AZQB0AGgAaQBuAGcAIABhAHMAIABhAG4AeQApAC4AYQBGAGkAZQBsAGQACgAgACAAfQAKACAAIAAKACAAIAAvAC8AIABiAGkAbwBtAGUALQBpAGcAbgBvAHIAZQAgAGwAaQBuAHQALwBzAHUAcwBwAGkAYwBpAG8AdQBzAC8AdQBzAGUAQQB3AGEAaQB0ADoAIAB3AGgAYQB0AGUAdgBlAHIACgAgACAAYQBzAHkAbgBjACAAdwByAG8AbgBnADIAKABzAG8AbQBlAHQAaABpAG4AZwA6ACAAbwBiAGoAZQBjAHQAKQA6ACAAUAByAG8AbQBpAHMAZQA8AHMAdAByAGkAbgBnAD4AIAB7AAoAIAAgACAAIAAvAC8AIABiAGkAbwBtAGUALQBpAGcAbgBvAHIAZQAgAGwAaQBuAHQALwBzAHUAcwBwAGkAYwBpAG8AdQBzAC8AbgBvAEUAeABwAGwAaQBjAGkAdABBAG4AeQA6ACAAaQB0ACAAaQBzACAAdwBoAGEAdAAgAGkAdAAgAGkAcwAKACAAIAAgACAAcgBlAHQAdQByAG4AIAAoAHMAbwBtAGUAdABoAGkAbgBnACAAYQBzACAAYQBuAHkAKQAuAGEARgBpAGUAbABkAAoAIAAgAH0ACgAgACAACgAgACAALwAvACAAYgBpAG8AbQBlAC0AaQBnAG4AbwByAGUAIABsAGkAbgB0AC8AcwB1AHMAcABpAGMAaQBvAHUAcwAvAHUAcwBlAEEAdwBhAGkAdAA6ACAAdwBoAGEAdABlAHYAZQByAAoAIAAgAGEAcwB5AG4AYwAgAHcAcgBvAG4AZwAzACgAKQA6ACAAUAByAG8AbQBpAHMAZQA8AHMAdAByAGkAbgBnAD4AIAB7AAoAIAAgACAAIAAvAC8AIABiAGkAbwBtAGUALQBpAGcAbgBvAHIAZQAgAGwAaQBuAHQALwBzAHUAcwBwAGkAYwBpAG8AdQBzAC8AbgBvAEUAeABwAGwAaQBjAGkAdABBAG4AeQA6ACAAaQB0ACAAaQBzACAAdwBoAGEAdAAgAGkAdAAgAGkAcwAKACAAIAAgACAAYwBvAG4AcwB0ACAAcwBvAG0AZQB0AGgAaQBuAGcAOgAgAGEAbgB5ACAAPQAgAHsAfQAKACAAIAAgACAAcgBlAHQAdQByAG4AIABzAG8AbQBlAHQAaABpAG4AZwAuAGEARgBpAGUAbABkAAoAIAAgAH0ACgAgACAACgAgACAALwAvACAAYgBpAG8AbQBlAC0AaQBnAG4AbwByAGUAIABsAGkAbgB0AC8AcwB1AHMAcABpAGMAaQBvAHUAcwAvAHUAcwBlAEEAdwBhAGkAdAA6ACAAdwBoAGEAdABlAHYAZQByAAoAIAAgAC8ALwAgAGIAaQBvAG0AZQAtAGkAZwBuAG8AcgBlACAAbABpAG4AdAAvAHMAdQBzAHAAaQBjAGkAbwB1AHMALwBuAG8ARQB4AHAAbABpAGMAaQB0AEEAbgB5ADoAIABpAHQAIABpAHMAIAB3AGgAYQB0ACAAaQB0ACAAaQBzAAoAIAAgAGEAcwB5AG4AYwAgAGMAbwByAHIAZQBjAHQAMQAoAHMAbwBtAGUAdABoAGkAbgBnADoAIABhAG4AeQApADoAIABQAHIAbwBtAGkAcwBlADwAcwB0AHIAaQBuAGcAPgAgAHsACgAgACAAIAAgAHIAZQB0AHUAcgBuACAAcwBvAG0AZQB0AGgAaQBuAGcALgBhAEYAaQBlAGwAZAAKACAAIAB9AAoACgAgACAALwAvACAAYgBpAG8AbQBlAC0AaQBnAG4AbwByAGUAIABsAGkAbgB0AC8AcwB1AHMAcABpAGMAaQBvAHUAcwAvAHUAcwBlAEEAdwBhAGkAdAA6ACAAdwBoAGEAdABlAHYAZQByAAoAIAAgAGEAcwB5AG4AYwAgAGMAbwByAHIAZQBjAHQAMgAoAHMAbwBtAGUAdABoAGkAbgBnADoAIAB7AGEARgBpAGUAbABkADoAIABzAHQAcgBpAG4AZwB9ACkAOgAgAFAAcgBvAG0AaQBzAGUAPABzAHQAcgBpAG4AZwA%2BACAAewAKACAAIAAgACAAcgBlAHQAdQByAG4AIABzAG8AbQBlAHQAaABpAG4AZwAuAGEARgBpAGUAbABkAAoAIAAgAH0ACgB9AAoA

Expected result

As you can see from the playground, when a function is declared async but doesn't use await and the same function has in its body a // biome-ignore lint/suspicious/noExplicitAny then the comment // biome-ignore lint/suspicious/useAwait stops working as expected.

I don't know if the issue is specific about this particular combination of ignores or it is more general as I didn't check for other cases.

Code of Conduct

  • I agree to follow Biome's Code of Conduct
@tbossi tbossi added the S-Needs triage Status: this issue needs to be triaged label Feb 11, 2025
@siketyan
Copy link
Member

siketyan commented Feb 11, 2025

I don't know why, but I cannot reproduce this on the next branch, while it's reproducible on the main branch. So it will be fixed in Biome 2.0.

Duplicate of #4519, and it's already fixed in #4714. It will be released in Biome 2.0.

@ematipico ematipico closed this as not planned Won't fix, can't repro, duplicate, stale Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-Needs triage Status: this issue needs to be triaged
Projects
None yet
Development

No branches or pull requests

3 participants