| ## Token Defaults Generator | |
| Script that generates component theme data defaults based on token data. | |
| ## Usage | |
| Run this program from the root of the git repository: | |
| ```sh | |
| dart dev/tools/gen_defaults/bin/gen_defaults.dart [-v] | |
| ``` | |
| This updates `generated/used_tokens.csv` and the various component theme files. | |
| ## Templates | |
| There is a template file for every component that needs defaults from | |
| the token database. These templates are implemented as subclasses of | |
| `TokenTemplate`. This base class provides some utilities and a structure | |
| for adding a new block of generated code to the bottom of a given file. | |
| Templates need to override the `generate` method to provide the generated | |
| code block as a string. | |
| See `lib/fab_template.dart` for an example that generates defaults for the | |
| Floating Action Button. | |
| ## Tokens | |
| Tokens are stored in JSON files in `data/`, and are sourced from | |
| an internal Google database. | |
| `template.dart` should provide nearly all useful token resolvers | |
| (e.g. `color`, `shape`, etc.). For special cases in which one shouldn't | |
| be defined, use `getToken` to get the raw token value. The script, through | |
| the various revolvers and `getToken`, validates tokens, keeps track of | |
| which tokens are used, and generates `generated/used_tokens.csv`. |