Description
When investigating the integration of this specification with the ESM Integration in WebAssembly/esm-integration#95, where the ESM integration would ideally enable builtins by default, this has resulted in a re-raising of concerns around wasm:
being treated as a scheme when used in the polyfill paths for builtins.
This was discussed in the WhatNOT meeting today, and the concern was at least confirmed that the primary issue is the reservation of the resolution of the wasm:
scheme that might otherwise be later registered in browsers. Specifically that in the JS module resolution algorithm, URL parsing rules would be applied to these specifiers.
The argument being made therefore is that supporting the string builtins proposal in the ESM Integration, would likely require registering the wasm:
scheme with IANA at this point.
The alternative might be to use any other string in JS String Builtins that does not parse as a URL, for example @wasm:js-string
, $wasm:js-string
or even something without a :
like $wasm/js-string
.
Some questions:
- Would a string name change still be possible at this phase of the proposal?
- Would there be interest in registering
wasm:
with IANA? - Are there other approaches that might be worth considering here further for the ESM Integration?