Skip to content

[web_generator] Generate all top-level declarations by default #400

Open

Description

@nikeokoronkwo

In the current WebIDL generator, only interfaces, dictionaries and namespaces are generated by default. We should allow all top-level declarations to be generated by default, including callbacks, enums, etc.

Activity

  1. harrshita123 commented on Jan 12, 2026

    @harrshita123
    Contributor

    @nikeokoronkwo @kevmoo
    Hi! I am interested in working on this issue.
    Before starting on an implementation, I wanted to check whether the maintainers agree with generating all top-level WebIDL declarations by default, or if this should be introduced in a more incremental or configurable way.

    I would be happy to draft a proposal or prototype based on the preferred direction. Thanks!

  2. nikeokoronkwo commented on Jan 17, 2026

    @nikeokoronkwo
    CollaboratorAuthor

    Hey! Thanks for your interest on this issue.

    Before starting on an implementation, I wanted to check whether the maintainers agree with generating all top-level WebIDL declarations by default, or if this should be introduced in a more incremental or configurable way.

    Yes, I think we should make this an option that users can pass to the script via a flag for now, then later we can decide whether to have this by default or not

    cc @srujzs

  3. harrshita123 commented on Jan 27, 2026

    @harrshita123
    Contributor

    @nikeokoronkwo
    Thanks for the clarification!

    I will proceed with implementing this behind a flag in the script, allowing users to opt in to generating all top-level WebIDL declarations (callbacks, enums, etc.).

    I will start by exploring the current generator flow and will share a proposal or draft PR once I have an initial implementation. Please let me know if there is anything specific you would like me to watch out for.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions