[community-group] How library and tooling authors do keep track of conformance and changes? (#247)

nclsndr has just created a new issue for https://github.com/design-tokens/community-group:

== How library and tooling authors do keep track of conformance and changes? ==
Lately, I reviewed and benchmarked many of the OSS solutions for working with DTF tokens (Tokens Studio, Cobalt/Terrazzo, Design Token Validator from Anima,...). Side note: I focused on web tech, JS and TS.

What struck me was the level of repetition we all suffer from. 100% of any lib that parses DTF tokens needs to start by defining cumbersome types and primitives. Then parse and implement some sort of visitor pattern for both the tokens and their aliases. I can tell you we almost all have made mistakes interpreting some decisions or missing an update from the spec at some point 🙈.

Taking this step back, I feel like we would all benefit from a npm package that would host the types and the most implementation-agnostic definitions. I wrote the package [design-token-format-module](https://github.com/nclsndr/design-tokens-format-module) in late 2022, by that time it was not clear where it could be used and what type of APIs it could offer. 
With the last version, targeting the Live Draft spec, I tried to focus on the most non-debatable piece for anyone to pick from.

Questions for library/tool authors: 
- How do you envision to keep track of the spec changes and conformance in your codebase(s)?
- Do you feel a shared package of primitives would help?

Question for DTCG committee:
Would it make sense for the design-tokens organization on GitHub to host some repositories with the code implementing the spec for different languages / platforms? If so, I'd be happy to transfer the npm namespace to the community.

Please view or discuss this issue at https://github.com/design-tokens/community-group/issues/247 using your GitHub account


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

Received on Tuesday, 20 August 2024 15:17:44 UTC