mirror of
https://github.com/supabase/supabase.git
synced 2026-10-10 11:55:05 +03:00
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Chore / dependency cleanup. ## What is the current behavior? `apps/docs` and `apps/design-system` use the `concurrently` package to run their parallel dev scripts, while the rest of the monorepo (e.g. `packages/pg-meta`) already relies on `npm-run-all`. ## What is the new behavior? Both apps now use `npm-run-all` (`run-p`), and `concurrently` is dropped from their dependencies and the lockfile; `apps/docs` keeps its kill-on-exit behavior via `run-p --race`, and `apps/design-system`'s `dev:full` is collapsed into `dev` using the `run-p dev:*` glob (with `dev:next`/`dev:content` sub-tasks and README updated to match). ## Additional context N/A <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated design system setup instructions to reflect the new development workflow and MDX watching behavior. * **Chores** * Simplified local development scripts for the design system and docs apps. * Split the dev workflow into separate commands for the app server and content watcher, making it easier to run and troubleshoot. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
73 lines
2.5 KiB
Markdown
73 lines
2.5 KiB
Markdown
# Supabase Design System
|
||
|
||
Design resources for building consistent user experiences at Supabase.
|
||
|
||
## Getting started
|
||
|
||
First, make a copy of _.env.local.example_ and name it _env.local_. Then install any required packages and start the development server:
|
||
|
||
```bash
|
||
cd apps/design-system
|
||
pnpm i
|
||
pnpm dev
|
||
```
|
||
|
||
The `dev` command runs both the Next.js development server and Contentlayer concurrently, which is recommended for most development workflows.
|
||
|
||
### Alternative commands
|
||
|
||
You can also run the development server and content watcher separately:
|
||
|
||
```bash
|
||
# Run only the Next.js development server
|
||
pnpm dev:next
|
||
|
||
# Run only the content watcher (in a separate terminal shell)
|
||
pnpm dev:content
|
||
```
|
||
|
||
Or run the development server from the root directory:
|
||
|
||
```bash
|
||
pnpm dev:design-system
|
||
```
|
||
|
||
To run both the development server and content watcher from the root directory, you can use:
|
||
|
||
```bash
|
||
# Run the development server
|
||
pnpm dev:design-system
|
||
|
||
# Run the content watcher (in a separate terminal shell)
|
||
pnpm --filter=design-system dev:content
|
||
```
|
||
|
||
Open [http://localhost:3003](http://localhost:3003) in your browser to see the result.
|
||
|
||
### Watching for MDX changes
|
||
|
||
The `dev` command automatically watches for changes to MDX files with hot reload. If you're running the `pnpm dev:next` separately, you'll need to run `pnpm dev:content` in a separate terminal shell to watch for content changes.
|
||
|
||
### Adding components
|
||
|
||
The design system _references_ components rather than housing them. That’s an important distinction to make, as everything that follows here is about the documentation of components. You can add or edit components in one of these two places:
|
||
|
||
- [`packages/ui`](https://github.com/supabase/supabase/tree/master/packages/ui): basic UI components
|
||
- [`packages/ui-patterns`](https://github.com/supabase/supabase/tree/master/packages/ui-patterns): components which are built using NPM libraries or amalgamations of components from `patterns/ui`
|
||
|
||
There are several parts of this design system that need to be manually updated after components have been added or removed (from documentation). These include:
|
||
|
||
- `config/docs.ts`: list of components in the sidebar
|
||
- `content/docs`: the actual component documentation
|
||
- `registry/examples.ts`: list of example components
|
||
- `registry/fragments.ts`: list of fragment components
|
||
- `registry/charts.ts`: list of chart components
|
||
- `registry/default/example/*`: the actual example components
|
||
|
||
You will need to rebuild the design system’s registry after making new additions:
|
||
|
||
```bash
|
||
cd apps/design-system
|
||
pnpm build:registry
|
||
```
|