@ontwik/ui - A headless UI library
A headless UI library and CLI theme generator
Powered by:
As well as a few others tools preconfigured:
yarn dev
- Run all packages locally and preview with Storybookyarn build
- Build all packages including the Storybook siteyarn lint
- Lint all packagesyarn changeset
- Generate a changesetyarn clean
- Clean up all node_modules
and dist
folders (runs each package’s clean script)This monorepo includes the following packages and applications:
apps/docs
: Component documentation site with Storybookapps/public-docs
: Public Docs powered by Nextrapackages/ontwik-ui
: Core React componentsEach package and app is 90% TypeScript. Yarn Workspaces enables us to “hoist” dependencies that are shared between packages to the root package.json
. This means smaller node_modules
folders and a better local dev experience. To install a dependency for the entire monorepo, use the -W
workspaces flag with yarn add
.
This repository uses Changesets to manage versions, create changelogs, and publish to npm. It’s preconfigured so you can start publishing packages immediatley.
To generate your changelog, run yarn changeset
locally:
space
to select the packages you want to include in the changeset
.space
to select the packages you want to bump versions for.changeset
folder with the summary and a list of the packages included.When you push your code to GitHub, the GitHub Action will run the release
script defined in the root package.json
:
turbo run build --filter=docs^... --filter=public-docs^... && changeset publish
Turborepo runs the build
script for all publishable packages (excluding docs & public-docs) and publishes the packages to npm.