Skip to content

💅 noFloatingPromises misses floating promises from awaited async function return values #9989

@niklas-e

Description

@niklas-e

Environment information

Details
CLI:
  Version:                      2.4.12
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           linux

Environment:
  BIOME_LOG_PATH:                    unset
  BIOME_LOG_PREFIX_NAME:             unset
  BIOME_LOG_LEVEL:                   unset
  BIOME_LOG_KIND:                    unset
  BIOME_CONFIG_PATH:                 unset
  BIOME_THREADS:                     unset
  BIOME_WATCHER_KIND:                unset
  BIOME_WATCHER_POLLING_INTERVAL:    unset
  NO_COLOR:                     unset
  TERM:                         xterm-256color
  JS_RUNTIME_VERSION:           v24.14.0
  JS_RUNTIME_NAME:              node
  NODE_PACKAGE_MANAGER:         npm/11.9.0

Biome Configuration:
  Status:                       Loaded successfully
  Path:                         biome.json
  Formatter enabled:            true
  Linter enabled:               true
  Assist enabled:               true
  VCS enabled:                  false
  HTML full support enabled:    unset

Linter:
  JavaScript enabled:           unset
  JSON enabled:                 unset
  CSS enabled:                  unset
  GraphQL enabled:              unset
  Recommended:                  false
  Enabled rules:
    nursery/noFloatingPromises

Workspace:
  Open Documents:               0

Rule name

noFloatingPromises

Playground link

https://biomejs.dev/playground/?lintRules=noFloatingPromises&tab=formatter&pane=Diagnostics&code=ZQB4AHAAbwByAHQAIABmAHUAbgBjAHQAaQBvAG4AIABNAHkAUABhAGcAZQAoACkAIAB7AAoAIAAgAHIAZQB0AHUAcgBuACAAewAKACAAIAAgACAAbQB5AEMAbwBtAHAAbwBuAGUAbgB0ADoAIABNAHkAQwBvAG0AcABvAG4AZQBuAHQAKAApACwACgAgACAAfQAKAH0ACgAKAGYAdQBuAGMAdABpAG8AbgAgAE0AeQBDAG8AbQBwAG8AbgBlAG4AdAAoACkAIAB7AAoAIAAgAHIAZQB0AHUAcgBuACAAewAKACAAIAAgACAAYQBzAHkAbgBjACAAYQBzAHMAZQByAHQAUwBvAG0AZQB0AGgAaQBuAGcAKAApACAAewAKACAAIAAgACAAIAAgAGEAdwBhAGkAdAAgAFAAcgBvAG0AaQBzAGUALgByAGUAcwBvAGwAdgBlACgAKQAKACAAIAAgACAAfQAsAAoAIAAgAH0ACgB9AAoACgBlAHgAcABvAHIAdAAgAGEAcwB5AG4AYwAgAGYAdQBuAGMAdABpAG8AbgAgAGwAbwBnAGkAbgAoACkAIAB7AAoAIAAgAGEAdwBhAGkAdAAgAFAAcgBvAG0AaQBzAGUALgByAGUAcwBvAGwAdgBlACgAKQAKACAAIAByAGUAdAB1AHIAbgAgAE0AeQBQAGEAZwBlACgAKQAKAH0ACgAKAGEAcwB5AG4AYwAgAGYAdQBuAGMAdABpAG8AbgAgAGYAbwBvACgAKQAgAHsACgAgACAAYwBvAG4AcwB0ACAAcABhAGcAZQAgAD0AIABhAHcAYQBpAHQAIABsAG8AZwBpAG4AKAApAAoAIAAgAGMAbwBuAHMAdAAgAG0AeQBQAGEAZwBlACAAPQAgAE0AeQBQAGEAZwBlACgAKQAKAAoAIAAgAHAAYQBnAGUALgBtAHkAQwBvAG0AcABvAG4AZQBuAHQALgBhAHMAcwBlAHIAdABTAG8AbQBlAHQAaABpAG4AZwAoACkACgAgACAAbQB5AFAAYQBnAGUALgBtAHkAQwBvAG0AcABvAG4AZQBuAHQALgBhAHMAcwBlAHIAdABTAG8AbQBlAHQAaABpAG4AZwAoACkACgB9AA%3D%3D

Expected result

Both expressions in function foo() should be reported as floating promises:

  • page.myComponent.assertSomething() reported correctly
  • myPage.myComponent.assertSomething() not reported

Code of Conduct

  • I agree to follow Biome's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    S-Needs triageStatus: this issue needs to be triaged

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions