README
edu-design-system
The Education Initiative's design system packages.
Development
Requirements
- Node - if using nodenv, you can install the right version with
nodenv install
- Yarn - install through either npm (
npm install -g yarn
) or homebrew (brew install yarn
)
Helpful commands
Description | Command |
---|---|
Install dependencies | yarn install |
Run linter | yarn lint |
Run linter and fix all fixable issues | yarn lint:fix |
Build packages | yarn build |
Run the component generator | yarn create-component |
Publishing
- Confirm that all checks are green on CI.
- Run
git checkout main
- Run
yarn create-releases
# or, if there are breaking changes
yarn create-releases:breaking
to bump the package versions, create new git tags, and create git commits. The packages are not published, yet.
- Confirm that the git tags, git commits, and changelog updates look correct.
- Run
yarn publish-releases
to publish the packages to the NPM registry. - Push commits and tags to the git remote with
git push origin --tags && git push origin main
Before the first time you publish, make sure to:
- set up Two Factor Authentication for your npm account
- run
npm login
in your terminal to generate an access token for publishing
Note on versioning
We are currently using a modified form of semver where:
- Breaking changes update the minor version
- All other changes (new features, fixes, etc.) update the patch version
Once we publish major version 1, we will begin following conventional semver.
Project Status
This project is under active development. If you would like to contribute, check out the contribution guidelines or open an issue.
This project is governed under the Contributor Covenant code of conduct.
Reporting Security Issues
See our Security Readme.