🚧 WORK IN PROGRESS 🚧
View the main branch at: https://bubblegum-template.vercel.app/
Bubblegum UI docs 🚧: https://bubblegumui.vercel.app/
Building a design library of reusable, flexible, and accessible React form and UI components. The form components will be largely unstyled out of the box and intended to be easily adapted on the fly using customizable variations.
https://github.com/tayv/Project-Bubblegum/assets/48400779/e7e3c04b-2217-4a6d-bce1-193d347c36c6
This project uses the Tailwind CSS (v3.0) with NextJs configuration. It follows the steps outlined in the official Tailwind docs.
Install dependencies npm install
Run the development server npm run dev
Open http://localhost:3000 in the browser
Using turbo to manage the monorepo. Basic structure:
apps
holds projectspackages
holds anything reusable across apps
such as ui
for components as well as extendable configurations for estlint
and tsconfig
.package.json
.[ Vercel recommends](You can use an npm organization or user scope to avoid collisions with existing packages on npm. For instance, you could use @mycompany/shared-utils) prepending the org name to avoid npm namespace conflicts. For example: @organizationname/packagename
.package.json
: "@monorepo/name": "workspace:*"
to import dependencies based on the name of the internal package's name in its package.json
package.json
that runs @manypkg/cli
after pnpm install
as suggested by Vercel. Can also run pnpm manypkg fix
to attempt to fix errors.turbo.json
handles pipeline
scripts for the whole repo such as build or linting scripts. dependsOn
can be used to only run these pipeline scripts after project specific scripts have run.config-eslint
and config-typescript
in packages
are used to have a consistent base for the whole monorepo. These can be extended or overridden in the individual apps
via their own eslintrc.json
and tsconfig.json
.package.json
. Root handles monorepo-wide dependencies like prettier. Each workspace needs to have a unique title in package.json
.pnpm-workspaces.yaml
defines the monorepo's workspaces like packages
and apps
.Add { "eslint.workingDirectories": [ { "pattern": "apps/*/" }, { "pattern": "packages/*/" } ] }
to .vscode > settings.json
to fix error finding next/babel
. Appears to be a known turborepo issue.