This is the "single source of truth" for design tokens and assets used throughout Buildit's Gravity design system.
Exports of the design tokens in various formats are published as an NPM package: @buildit/gravity-particles
.
Add the NPM package as a dependency (or dev dependency) to your project:
npm install --save @buildit/gravity-particles
The design tokens can be consumed in JavaScript (Node.js) applications. TypeScript type declarations are also published.
In your code, you can require
and use the tokens like so:
const gravityParticles = require('@buildit/gravity-particles');
The design tokens are also published as SASS variables.
We recommend using Eyeglass SASS to simplify importing this library into your SASS code. Follow Eyeglass's instructions to integrate it with your SASS compilation options.
Once setup, you can @import
them into your SASS code like so:
@import 'gravity-particles';
- Clone this repo to your machine
- Run
npm install
to install the dependencies
Congrats, you're all set!
TIP: We recommend using NVM to ensure you have a compatible Node.js version (>= 8.11.1).
While you can, in principle, manually format your commit messages using your preferred git client, we recommend using commitizen, which is installed when you run npm install
. To run it, simply do:
npm run commit
Note, we also use a git pre-commit hook (which is setup automatically when you run npm install
) to lint new commit messages and enforce the correct formatting. Our CI also checks commit messages in a PR.
To do a build, which exports the tokens in all the supported formats, run:
npm run build
This will create a dist/
directory containing the exported tokens. (It will also create a .tmp/
directory for intermediate build files)
npm run test
To remove any previous build output run:
npm run clean
When running on macOS, the build process will download some additional tools on the first build and place them under .tmp-bin/
. If you wish, you can remove those (e.g. to force a fresh download on the next build) by running: npm run clean-bin
.
The design tokens are expressed in JSON files under src/tokens/
. We use Amazon's Style Dictionary to export them in various formats.
The configuration, along with some Style Dictionary customisations, are kept under build-scripts/
.
Finally, we use Gulp as our task runner to run Style Dictionary and perform other operations needed for the build.