Skip to content

[Guidelines Proposal] Change consensus requirements #2290

@CodeWithShreyans

Description

@CodeWithShreyans

Problem

Current contributor guidelines requires 2 major browser engines to implement a new Web API for its definition to be added to TS DOM types. https://github.com/microsoft/TypeScript-DOM-lib-generator#why-is-my-fancy-api-still-not-available-here

Seeing as Blink possesses >75% of browser engine market share and is by FAR the quickest engine to implement new web standards and standard proposals, this requirement causes unnecessary hassle and possible runtime errors if manually defined types are incorrect.

For example: https://x.com/CodeWShreyans/status/2000710168980377885?s=20
The Web Navigation API was added to the HTML Spec in 2022, shortly followed by Blink's implementation later the same year. Webkit released their implementation 3 days ago, over 3 years after Blink. Gecko still does not support it.

Solution

Add types to TS when a standard is supported by one major browser engine AND published to the official HTML spec. However to encourage safe use, the type can be possibly undefined until implemented by two major browser engines.

For example:

interface Window {
  navigation: Navigation | undefined
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions