-
-
Notifications
You must be signed in to change notification settings - Fork 430
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Monorepo conversion (using bun
)
#1264
Conversation
- bun [runtime, package manager, task runner, test runner] - biome [format, lint] - removed `cypress` (to be replaced with `playwright`) - removed codecov - split into multiple packages and apps [web(docs), ui(library), storybook, cli] UNSTABLE
fix(ui): exports fix(root): sort `package.json`
- replace `@vitejs/plugin-react-sw` -> `@vitejs/plugin-react` - fix build - add `.gitignore` - update stories path
- remove more biome leftover - add package json sorter
…class sorting, linting and apply fixes
- add `eslint` to `web` - optimise onboarding flow - fix tailwind lint errors here and there
- refactor github actions - setup github actions using `bun` - remove storybook github action (redo later)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All right. This PR is waaaay too big to be reviewed properly. My browser is struggling to pass through all the changes. However, I've been following the changes for ~2 months, and today I tested it locally. I didn't notice any immediate problem. Nothing seems to be broken at first glance, and I think that the benefits of getting it merged are bigger than the risks related to it. So... I'm approving this PR.
Good job, @SutuSebastian! This is a great improve.
This is an amazing PR @SutuSebastian. Good job! |
Summary
Since there is a lot of confusion regarding which files belong to docs, and which belong to the UI library, as well as which files are simply for code quality and which not, we should have a split bringing separation of concerns that isolates each app/package into their own namespace, while still allowing the flexibility of re-usage of one another (eg: UI lib being used in docs namespace).
To achieve this, the answer is monorepo.
Structure
Stack
Task runner:
Bun
Package manager:
Bun
Lint:
ESLint
Format:
Prettier
Test:
Vitest
Release:
Changesets
Monorepo:
Bun
Monorepo build system:
Turborepo
Changes
General:
bun
cypress
(to be replaced withplaywright
)codecov
Docs:
CLI
pageEditor Setup
pageQuickstart
pagemode
matches)UI library:
theme
objects, usingcreateTheme()
proxy functionvitest
to latestStorybook:
CLI:
create-flowbite-react
CLI package (https://www.npmjs.com/package/create-flowbite-react)Result
Docs - Quickstart
Screen.Recording.2024-03-20.at.10.49.40.mov
Docs - Integration Guides - CLI section
Docs - code preview
Screen.Recording.2024-03-20.at.10.53.50.mov
Screen.Recording.2024-03-20.at.10.54.21.mov
Storybook - light/dark mode toggle
Screen.Recording.2024-03-20.at.11.25.21.mov
CLI
Screen.Recording.2024-03-20.at.11.04.27.mov