Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
ab110ef
update lock file
mehdibha Dec 14, 2025
49a851c
feat: colors package
mehdibha Dec 15, 2025
85d54db
add playground, fix some bugs
mehdibha Dec 15, 2025
88e9827
refactor from class to functional
mehdibha Dec 15, 2025
8f1f677
update colors playground
mehdibha Dec 15, 2025
5dad391
remove spectrum
mehdibha Dec 15, 2025
52ba243
refactor registry wip
mehdibha Dec 15, 2025
0b82c4f
wip
mehdibha Dec 15, 2025
b97b230
new core package wip
mehdibha Dec 15, 2025
3c1f739
wip
mehdibha Dec 15, 2025
3c702cb
wip
mehdibha Dec 16, 2025
8d805cf
wip
mehdibha Dec 18, 2025
128d01d
update material algorithm utils
mehdibha Dec 18, 2025
e12d0a6
update @dotui/colors api
mehdibha Dec 19, 2025
50d138d
update refactor plan
mehdibha Dec 19, 2025
56a748e
feat(registry): add component groups and build-registry script
mehdibha Dec 19, 2025
02c257f
fix: align dependency versions across workspace
mehdibha Dec 19, 2025
2496fb1
feat(core): add schemas, style providers, and createDynamicComponent
mehdibha Dec 19, 2025
8ac1e70
feat(core): connect registry components to createDynamicComponent
mehdibha Dec 19, 2025
24d54e4
feat(db): migrate to single config column schema
mehdibha Dec 19, 2025
9e47ded
feat(core): port shadcn-adapter to @dotui/core/shadcn
mehdibha Dec 19, 2025
4456f8c
chore: remove shadcn-adapter and transformers packages
mehdibha Dec 19, 2025
8d16eb6
wip: update www for new config schema structure
mehdibha Dec 19, 2025
af060fd
refactor(www): migrate to core StyleProvider and new config schema
mehdibha Dec 19, 2025
c624bb1
fix(www): prevent hydration mismatch in ActiveStyleProvider
mehdibha Dec 19, 2025
4c6be7c
docs: add architecture cleanup plan
mehdibha Dec 19, 2025
1f0e57e
refactor(core): reorganize package - merge style/ + components/ into …
mehdibha Dec 20, 2025
5be60bb
refactor(core): use StyleConfig directly, remove createStyle abstraction
mehdibha Dec 20, 2025
2920eac
wip
mehdibha Dec 20, 2025
28f1d42
wip
mehdibha Dec 20, 2025
55b3dca
refactor(www): finalize style-editor UI shell, fix HSL format
mehdibha Dec 20, 2025
f7464d2
clean up
mehdibha Dec 20, 2025
20ab892
format
mehdibha Dec 20, 2025
f40e7d8
fix lint errors
mehdibha Dec 20, 2025
346dafc
update lock file
mehdibha Dec 20, 2025
f8b133c
add missing export
mehdibha Dec 20, 2025
9861f54
fix(core): use package import for __registry__/variants
mehdibha Dec 20, 2025
873b20b
fix(core): add build script for proper turbo dependency chain
mehdibha Dec 20, 2025
1de8c91
refactor: update tsconfigs with @dotui/core/* path aliases
mehdibha Dec 21, 2025
2a20cc3
refactor(core): convert relative imports to absolute @dotui/core/* im…
mehdibha Dec 21, 2025
5bce952
refactor: remove tsc build scripts from internal packages
mehdibha Dec 21, 2025
cba24b4
refactor(registry): consolidate build scripts into single build.ts
mehdibha Dec 21, 2025
f99ee52
chore: regenerate registry files with consolidated build script
mehdibha Dec 21, 2025
1065117
chore: update gitignore for reference repos
mehdibha Dec 21, 2025
5af8b6c
update gitignore
mehdibha Dec 21, 2025
9fd3e13
fix(auth): add @dotui/core/* path mapping to tsconfig
mehdibha Dec 21, 2025
1b0f61e
fix: update zod to 4.2.1 and react-hook-form to 7.69.0
mehdibha Dec 21, 2025
0cbed58
fix(registry): migrate from deprecated hugeicons-react to @hugeicons/…
mehdibha Dec 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 1 addition & 3 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,8 @@
"@dotui/auth",
"@dotui/db",
"@dotui/registry",
"@dotui/shadcn-adapter",
"@dotui/color-engine",
"@dotui/colors",
"@dotui/style-system",
"@dotui/transformers",
"@dotui/types"
]
}
46 changes: 46 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,49 @@ jobs:
- uses: ./.github/actions/setup

- run: pnpm test

check-registry:
runs-on: ubuntu-latest
name: Check registry generated files
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/setup

- name: Build registry
run: pnpm build:registry

- name: Check for uncommitted changes
run: |
if [[ -n $(git status --porcelain packages/core/src/__registry__/) ]]; then
echo "Error: Generated registry files are out of sync!"
echo "Please run 'pnpm build:registry' and commit the changes."
git diff packages/core/src/__registry__/
exit 1
fi
echo "Registry files are in sync."

check-migrations:
runs-on: ubuntu-latest
name: Check database migrations
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/setup

- name: Generate migrations
run: pnpm --filter=@dotui/db generate
env:
POSTGRES_URL: "postgresql://fake:fake@localhost:5432/fake"

- name: Check for uncommitted migrations
run: |
if [[ -n $(git status --porcelain packages/db/drizzle/) ]]; then
echo "Error: Database migrations are out of sync!"
echo "Please run 'pnpm --filter=@dotui/db generate' and commit the changes."
git status packages/db/drizzle/
exit 1
fi
echo "Database migrations are in sync."
27 changes: 27 additions & 0 deletions .github/workflows/db-migrate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Database Migrations

on:
push:
branches:
- main
paths:
- "packages/db/drizzle/**"
workflow_dispatch: # Allow manual trigger

jobs:
migrate:
name: Run database migrations
runs-on: ubuntu-latest
# Only run in the main repo, not forks
if: ${{ github.repository_owner == 'mehdibha' }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup

- name: Run migrations
run: pnpm --filter=@dotui/db migrate
env:
POSTGRES_URL: ${{ secrets.POSTGRES_URL }}

- name: Migration complete
run: echo "✅ Database migrations applied successfully"
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"start:www": "pnpm --filter=www start",
"build:www": "pnpm --filter=www build",
"build:registry": "pnpm --filter=@dotui/registry build",
"dev:registry": "chokidar 'packages/registry/src/ui/**/meta.ts' -c 'pnpm build:registry'",
"build:references": "pnpm --filter=www build:references",
"clean": "git clean -xdf node_modules",
"clean:workspaces": "turbo run clean",
Expand All @@ -45,7 +46,9 @@
"@changesets/changelog-github": "^0.5.1",
"@changesets/cli": "^2.27.3",
"@vitest/coverage-v8": "^4.0.1",
"chokidar-cli": "^3.0.0",
"puppeteer": "^24.26.0",
"tsx": "^4.21.0",
"turbo": "^2.5.8",
"typescript": "^5.8.3",
"vite-tsconfig-paths": "^5.1.4",
Expand Down
4 changes: 1 addition & 3 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,15 @@
},
"license": "MIT",
"scripts": {
"build": "tsc",
"clean": "git clean -xdf .cache .turbo dist node_modules",
"typecheck": "tsc --noEmit --emitDeclarationOnly false"
},
"dependencies": {
"@dotui/auth": "workspace:*",
"@dotui/db": "workspace:*",
"@dotui/registry": "workspace:*",
"@trpc/server": "^11.2.0",
"superjson": "2.2.3",
"zod": "^4.0.5"
"zod": "^4.2.1"
},
"devDependencies": {
"@dotui/ts-config": "workspace:*",
Expand Down
13 changes: 4 additions & 9 deletions packages/api/src/routers/style.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import { z } from "zod";
import type { TRPCRouterRecord } from "@trpc/server";

import { and, eq } from "@dotui/db";
import { createStyleSchema, style, user } from "@dotui/db/schemas";
import { styleDefinitionSchema } from "@dotui/registry/schemas";
import { createStyleSchema, updateStyleConfigSchema, style, user } from "@dotui/db/schemas";

import { protectedProcedure, publicProcedure } from "../trpc";

Expand Down Expand Up @@ -289,7 +288,7 @@ export const styleRouter = {
return created;
}),
update: protectedProcedure
.input(styleDefinitionSchema.extend({ id: uuidSchema }))
.input(updateStyleConfigSchema)
.mutation(async ({ ctx, input }) => {
return await ctx.db.transaction(async (tx) => {
const existingStyle = await tx.query.style.findFirst({
Expand All @@ -310,17 +309,13 @@ export const styleRouter = {
});
}

const { id, theme, icons, variants } = input;

const [updatedStyle] = await tx
.update(style)
.set({
theme,
icons,
variants,
config: input.config,
updatedAt: new Date(),
})
.where(eq(style.id, id))
.where(eq(style.id, input.id))
.returning();

return updatedStyle;
Expand Down
4 changes: 2 additions & 2 deletions packages/api/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"baseUrl": ".",
"jsx": "preserve",
"paths": {
"@dotui/registry/*": ["../registry/src/*"],
"@dotui/style-system/*": ["../style-system/src/*"]
"@dotui/api/*": ["./src/*"],
"@dotui/core/*": ["../core/src/*"]
}
},
"include": ["src"],
Expand Down
2 changes: 1 addition & 1 deletion packages/auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"next": "^16.0.5",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"zod": "^4.0.5"
"zod": "^4.2.1"
},
"devDependencies": {
"@dotui/ts-config": "workspace:*",
Expand Down
6 changes: 6 additions & 0 deletions packages/auth/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
{
"extends": "@dotui/ts-config/base.json",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@dotui/core/*": ["../core/src/*"]
}
},
"include": ["src", "*.ts", "eslint.config.js"],
"exclude": ["node_modules"]
}
35 changes: 0 additions & 35 deletions packages/color-engine/package.json

This file was deleted.

Loading