with-changesets
v0.0.1
Published
This is a community-maintained example. If you experience a problem, please submit a pull request with a fix. GitHub Issues will be closed.
Downloads
6
Readme
Turborepo Design System starter with Changesets
This is a community-maintained example. If you experience a problem, please submit a pull request with a fix. GitHub Issues will be closed.
Using this example
Run the following command:
npx create-turbo@latest -e with-changesetsWhat's inside?
This Turborepo includes the following:
Apps and Packages
@keyflow/docs: A placeholder documentation site powered by Next.js@keyflow/core: core React components@keyflow/utils: shared React utilities@keyflow/tsconfig: sharedtsconfig.jsons used throughout the monorepo@keyflow/eslint-config: ESLint preset
Each package and app is 100% TypeScript.
Utilities
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
Useful commands
yarn build- Build all packages and the docs siteyarn dev- Develop all packages and the docs siteyarn lint- Lint all packagesyarn changeset- Generate a changesetyarn clean- Clean up allnode_modulesanddistfolders (runs each package's clean script)
Changing the npm organization scope
The npm organization scope for this design system starter is @keyflow. To change this, it's a bit manual at the moment, but you'll need to do the following:
- Rename folders in
packages/*to replaceacmewith your desired scope - Search and replace
acmewith your desired scope - Re-run
yarn install
Versioning and Publishing packages
Package publishing has been configured using Changesets. Please review their documentation to familiarize yourself with the workflow.
This example comes with automated npm releases setup in a GitHub Action. To get this working, you will need to create an NPM_TOKEN and GITHUB_TOKEN in your repository settings. You should also install the Changesets bot on your GitHub repository as well.
For more information about this automation, refer to the official changesets documentation
npm
If you want to publish package to the public npm registry and make them publicly available, this is already setup.
To publish packages to a private npm organization scope, remove the following from each of the package.json's
- "publishConfig": {
- "access": "public"
- },