Skip to content

There should be an escape hatch to allow unknown import attributes #132

Open
@gibson042

Description

@gibson042

Now that #131 has established a requirement for implementations to reject unknown attributes, deferring the upgrade concerns of #21 (comment) and #56 (comment) is more hazardous. As suggested in #131 (comment) , I think it would be valuable to add an escape hatch allowing authors to explicitly indicate that particular import attributes should be ignored when they are unknown to an implementation. It would be logically similar to the ! criticality flag of the IETF timestamp suffixes draft, but with reversed polarity. As a strawperson, @nicolo-ribaudo suggested syntax like with { type: "css", layer?: "utilities" } or with { type: "css", "layer?": "utilities" }.

And a final point noted at #131 (comment) :

an alternative design could involve consideration of not just the attribute name but also the value, such that a new implementation might want to reject import "./image.png" with { type: "image", "as?": "not-yet-shipped-format" } while an old implementation that doesn't even know about as would treat the import like with { type: "image" }. But that kind of variance doesn't seem helpful in either the name-only or the name-and-value design anyway. It's worth noting that neither design is fully general with respect to fallback, but I'm just striving for a bridge to something better while the range of valid values for any particular attribute has not been subject to many changes and thus that lack of generality isn't detrimental.

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