lightpanda-io / lightpanda-io/browser
WebIDL parser and checker
Nobody has claimed this yet.
- Dominant language
- Zig
- Stars
- 35.5k
- Forks
- 1.7k
- Avg merge
- 21h 13m
- Merged PRs (30d)
- 262
Description
On pourrait utiliser WebIDL afin de s’assurer:
- que l’ensemble des méthodes du standard DOM sont implémentées
- que la signature de ces méthodes est conforme
Tous les navigateurs modernes se basent sur WebIDL et plusieurs parsers existent déjà, souvent en Python.
L’idée serait pour chaque fichier WebIDL présent de:
- parser le fichier
- vérifier si une implémentation zig existe et si toutes les propriétés (getter/setter) et méthodes sont présentes et ont la signature conforme au standard
- si ce n’est pas le cas générer une erreur avec les signatures attendues
Ce parsing pourrait se faire comptime.
Je le vois à la fois comme un outil de conformité et comme un outil de développement des Web APIs puisque pour chaque nouvel API le dev workflow pourrait commencer par ajouter le fichier WebIDL correspondant et ainsi générer la structure de l’implémentation (toutes les fonctions et leurs signatures).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the WebIDL specification and survey the existing WebIDL parsers mentioned in the issue. Then map the repository's WebIDL files and Zig Web API implementations to define the parser, conformance checks, error reporting, and possible comptime workflow. Done means the scope and design are settled for detecting missing or mismatched properties and methods.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- zig
- Domain
- compilers, tooling, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100