This package contains tools to generate web
from Web IDL definitions and MDN API documentation.
The tool to generate bindings is written in Dart, compiled to JavaScript, and run on Node.
To regenerate web
bindings from the current IDL versions, run:
dart bin/update_bindings.dart
To re-generate the package from newer IDL versions, you can either run:
dart bin/update_bindings.dart --update
or, manually edit lib/src/package.json
to use specific IDL versions, and re-run update_bindings.dart
.
package:web's dartdoc comments come from the MDN Web Docs project. In order to update to the latest version of the documentation, run:
dart bin/scrape_mdn.dart
That will collect the MDN documentation into third_party/mdn/mdn.json
; changes to that file should be committed to git. You'll need to run update_bindings.dart
to produce Dart code using the updated documentation.
The generator scripts use a number of conventions to consistently handle Web IDL definitions:
JSObject
.implements
between extension types.JSArray
and JSPromise
.String
.JSFunction
.String
instead of JSString
.JSAny?
.JSObject
.To ignore the compatibility data and emit all members, run:
dart bin/update_bindings.dart --generate-all
This is useful if you want to avoid having to write bindings manually for some experimental and non-standard APIs.
Based on:
Item | Version |
---|---|
@webref/css | 6.12.15 |
@webref/elements | 2.3.0 |
@webref/idl | 3.49.0 |