MoonBit-first design token parser, validator, and multi-target generator.
git clone https://github.com/wallll-wal6/moonbit-design-tokens.git
cd moonbit-design-tokens
moon check --deny-warn
moon test --deny-warn
moon run cmd/main///|
test "README example" {
let tokens = [
Token::color("brand-primary", "#4f46e5", description="Primary action"),
Token::spacing("space-4", "16px", description="Default gap"),
]
inspect(validate_all(tokens).length(), content="0")
inspect(to_css(tokens).contains("--brand-primary: #4f46e5;"), content="true")
}| Area | Files | Responsibility |
|---|---|---|
| Model and renderers | moonbit-design-tokens.mbt | Public types and output formats |
| Parser | parser.mbt | Text ingestion and source diagnostics |
| Validation | validation.mbt | CSS-oriented value checks |
| Operations | operations.mbt | Sets, search, merge, diff, canonicalization |
| Themes | themes.mbt | Overlays, aliases, fallback, reports |
| Build pipeline | pipeline.mbt | Parse-to-output orchestration and diagnostics |
| Scale fixture | catalog_*.mbt | Reusable deterministic fixture with 4,000 valid tokens |
| CLI | cmd/main | Runnable integration example |
moon fmt --check
moon check --deny-warn
moon test --deny-warn --enable-coverage
moon test --target native --deny-warn
moon infopub(all) struct BuildOptions {
canonicalize : Bool
resolve_aliases : Bool
output_format : OutputFormat
} derive(Eq, Debug)pub struct BuildResult {
tokens : Array[Token]
parse_problems : Array[ParseProblem]
token_problems : Array[TokenProblem]
alias_problems : Array[String]
output : String
format : OutputFormat
} derive(Eq, Debug)Install
Download zipMoonBit-first design token parser, validator, and multi-target generator.