dan...@microsoft.com, sase...@microsoft.com, tra...@microsoft.com, pc...@microsoft.com, gw...@microsoft.com
Synthetic Module Record in Web IDL Spec
TAG Review: This change is a building block for future features (JSON modules, CSS modules, WebIDL Modules…) but has no observable effects of its own. Thus we are skipping TAG review. Note that there is an in-progress TAG review for JSON modules here.
We plan to implement Synthetic Module Records, a type of Module Record that will be used by Blink and potentially other V8 embedders to define their own module types that participate in the ES module graph.
Synthetic Modules are a building block that will be used to implement other module types like JSON modules, CSS modules, WebIDL Modules, and other built-in module types.
There is no interoperability or compatibility impact from this change; it is a building block for other future module types but causes no observable web platform behavior changes on its own.
Module types built with Synthetic Modules are expected to be used in tandem with other module types such as JavaScript Modules. They will share the existing import/export syntax.
Performance will be pay-for-play. Performance of module graphs that include Synthetic-Module-based modules will not be affected. There will be no performance impact outside of the module infrastructure.
Synthetic Modules on their own will not be observable by developers, as they are simply a building block for other module types.
Debugging support is not applicable here as there is no externally observable behavior. As modules types based on Synthetic Modules are implemented, debugging support for those module types should be included.
Yes, the feature will be platform-agnostic.
No entry needed; this change on its own has no developer impact.
Yes. Synthetic Modules on their own do not result in any observable web platform change; there is currently no way to instantiate them. Thus there is no need to hide anything behind a runtime flag. When new module types (e.g. JSON modules) are built that plug into Synthetic Modules, we expect that these will be released more gradually with the use of runtime flags etc.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/MN2PR00MB06376833F4518CA3D91CCA34C5070%40MN2PR00MB0637.namprd00.prod.outlook.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLWj3diYaQkKm18BTAM5a5otRX%3Doxgh30P%3DrkVS-fVZMuA%40mail.gmail.com.