This Turborepo includes the following packages/apps:
workshop
: a Storybook app with the ui
package importeddocs
: a Next.js app with Tailwind CSSweb
: another Next.js app with Tailwind CSSui
: a stub React component library with Tailwind CSS shared by both web
and docs
applications with shadcn-ui already included. ui/eslint-config-custom
: eslint
configurations (includes eslint-config-next
and eslint-config-prettier
)ui/tailwind-config
: reusable tailwind configurationui/tsconfig
: tsconfig.json
s used throughout the monorepoEach package/app is 100% TypeScript.
This example is setup to build packages/ui
and output the transpiled source and compiled styles to dist/
. This was chosen to make sharing one tailwind.config.js
as easy as possible, and to ensure only the CSS that is used by the current application and its dependencies is generated.
Another option is to consume packages/ui
directly from source without building. If using this option, you will need to update your tailwind.config.js
to be aware of your package locations, so it can find all usages of the tailwindcss
class names.
For example, in tailwind.config.js:
content: [
// app content
`src/**/*.{js,ts,jsx,tsx}`,
// include packages if not transpiling
"../../packages/**/*.{js,ts,jsx,tsx}",
],
This Turborepo has some additional tools already setup for you:
Run the following command:
npx degit https://github.com/arevalolance/design-system-template.git design-system-template
cd design-system-template
pnpm install
git init . && git add . && git commit -m "Init"