Skip to content

🐛 GritQL patterns for export { ... } from ... don't match multiple specifiers #11436

Description

@toasty-kj

Environment information

Details
CLI:
  Version:                      2.5.9
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_DISTRIBUTION:                npm
  BIOME_LOG_FILE:                    unset
  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
  BIOME_BINARY:                      unset
  RUST_BACKTRACE:                    unset
  NO_COLOR:                     unset
  TERM:                         xterm-256color
  JS_RUNTIME_VERSION:           v24.18.0
  JS_RUNTIME_NAME:              node
  NODE_PACKAGE_MANAGER:         npm/11.16.0

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

Workspace:
  Open Documents:               0

What happened?

A GritQL pattern like `export { $specifiers } from $source` only matches named re-exports that
have exactly one plain specifier. Exports with two or more specifiers, an alias, or an inline type
modifier are not matched. @getgrit/cli apply matches all of them.

Playground

export { hoge } from "a" // works
export { hoge as h } from "b" // CURRENTLY DOES NOT WORK
export { hoge, fuga } from "d" // CURRENTLY DOES NOT WORK
export { type hoge, fuga } from "e" // CURRENTLY DOES NOT WORK
code @getgrit/cli biome 2.5.9
export { hoge } from 'a' ⚪︎ ⚪︎
export { hoge as h } from 'b' ⚪︎ ×
export { type hoge } from 'c' ⚪︎ ×
export { hoge, fuga } from 'd' ⚪︎ ×
export { type hoge, fuga } from 'e' ⚪︎ ×

Expected result

they all should be matched

Code of Conduct

  • I agree to follow Biome's Code of Conduct

Activity

  1. github-actions commented on Aug 20, 2026

    @github-actions
    Contributor

    ✅ Organic activity

    No automation signals detected in the analyzed events.

    View full analysis →

    This is an automated analysis by AgentScan

  2. added theissue type on Aug 20, 2026
  3. added
    S-Bug-confirmedStatus: report has been confirmed as a valid bug
    L-GritLanguage: GritQL
    and removed
    S-Needs triageStatus: this issue needs to be triaged
    on Aug 21, 2026
  4. self-assigned this
    on Aug 21, 2026
  5. danvim commented on Aug 29, 2026

    @danvim

    Is this issue #7727 also resolved due to the same PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

L-GritLanguage: GritQLS-Bug-confirmedStatus: report has been confirmed as a valid bug

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions