Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tf63/turbo-exp
https://github.com/tf63/turbo-exp
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/tf63/turbo-exp
- Owner: tf63
- Created: 2024-07-26T13:44:44.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-07-30T16:25:07.000Z (3 months ago)
- Last Synced: 2024-07-31T15:32:05.099Z (3 months ago)
- Language: TypeScript
- Size: 585 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Turborepo Tailwind CSS
## What's inside?
This Turborepo includes the following packages/apps:
### Apps and Packages
- `web`: another [Next.js](https://nextjs.org/) app with [Tailwind CSS](https://tailwindcss.com/)
- `ui`: a stub React component library with [Tailwind CSS](https://tailwindcss.com/) shared by both `web` and `docs` applications
- `@repo/config-typescript`: `tsconfig.json`s used throughout the monorepo
- `@repo/config-tailwind`: `tailwind.config.ts` and `postcss.config.mjs` used throughout the monorepo### Building packages/ui
This example is set up to produce compiled styles for `ui` components into the `dist` directory. The component `.tsx` files are consumed by the Next.js apps directly using `transpilePackages` in `next.config.js`. This was chosen for several reasons:
- Make sharing one `tailwind.config.js` to apps and packages as easy as possible.
- Make package compilation simple by only depending on the Next.js Compiler and `tailwindcss`.
- Ensure Tailwind classes do not overwrite each other. The `ui` package uses a `ui-` prefix for it's classes.
- Maintain clear package export boundaries.Another option is to consume `packages/ui` directly from source without building. If using this option, you will need to update the `tailwind.config.js` in your apps to be aware of your package locations, so it can find all usages of the `tailwindcss` class names for CSS compilation.
For example, in [tailwind.config.js](packages/tailwind-config/tailwind.config.js):
```js
content: [
// app content
`src/**/*.{js,ts,jsx,tsx}`,
// include packages if not transpiling
"../../packages/ui/*.{js,ts,jsx,tsx}",
],
```If you choose this strategy, you can remove the `tailwindcss` and `autoprefixer` dependencies from the `ui` package.
### Utilities