Skip to content

"wasm:" scheme concerns & ESM Integration #47

Open
@guybedford

Description

@guybedford

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?

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