Re: [community-group] $type should be a required property (#139)

@romainmenke Yes, I think you're right. I had so far mainly been focussing on what the expectations are for tools when they read or write tokens files, not so much what they do with the parsed data inbetween. My assumption is that different tools will have different internal representations and usages of the token data.

That being said, tools must only write out valid token files. So, one way or another, they'll need to do something along the lines of what you described in order to meet that requirement.

Perhaps the requirements could be specified something like this:

* When a token's type is changed, tools must find all other tokens that reference the changed token and...
    * If those tokens have their own `$type` attribute (which no longer matches the changed token's new type), either:
        * EITHER, Remove it (so that the token's type is now determined by the changed token it references). In this case, the process will need to be repeated for any tokens that reference that token.
        * OR, "detach the reference" by replacing the token's `$value` with the previous value of the changed token.
        
In both cases, one can argue that the intent of the referencing tokens is being altered in some way, so tools should warn the user or, better yet, give them a choice of what to do. 



-- 
GitHub Notification of comment by c1rrus
Please view or discuss this issue at https://github.com/design-tokens/community-group/issues/139#issuecomment-1185251341 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 15 July 2022 07:16:16 UTC