Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ jobs:
if: always()
run: docker rm -f meith-web meith-worker 2>/dev/null || true

- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down Expand Up @@ -261,7 +261,7 @@ jobs:
echo "::error::base image build failed after 5 attempts"
exit 1

- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand All @@ -286,7 +286,7 @@ jobs:
with:
fetch-depth: 0

- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down
4 changes: 2 additions & 2 deletions apps/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"build": "esbuild --bundle --platform=node --format=cjs --target=node22 --log-override:empty-import-meta=silent src/index.ts --outfile=dist/cli.cjs"
},
"dependencies": {
"@aws-sdk/client-s3": "3.1127.0",
"@aws-sdk/client-s3": "3.1158.0",
"@meith/accounts": "workspace:*",
"@meith/backup": "workspace:*",
"@meith/core": "workspace:*",
Expand All @@ -40,7 +40,7 @@
"@meith/settings": "workspace:*",
"@meith/tasks": "workspace:*",
"create-meith": "workspace:*",
"tsx": "^4.23.13"
"tsx": "^4.23.15"
},
"devDependencies": {
"esbuild": "^0.28.2"
Expand Down
6 changes: 3 additions & 3 deletions apps/community/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,10 @@
"@tailwindcss/postcss": "^4.3.3",
"@types/react": "^19",
"@types/react-dom": "^19",
"next": "16.3.4",
"next": "16.4.3",
"postcss": "^8.5",
"react": "19.2.8",
"react-dom": "19.2.8",
"react": "19.3.1",
"react-dom": "19.3.1",
"tailwindcss": "^4.3.3",
"typescript": "7.0.2"
}
Expand Down
12 changes: 6 additions & 6 deletions apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
"@meith/theme-phasebook": "workspace:^",
"@meith/theme-raidframe": "workspace:^",
"@swc/helpers": "0.5.23",
"marked": "^18.0.11",
"mermaid": "^12.0.0",
"next": "16.3.4",
"react": "19.2.8",
"react-dom": "19.2.8",
"shiki": "^4.4.3"
"marked": "^18.1.2",
"mermaid": "^12.2.0",
"next": "16.4.3",
"react": "19.3.1",
"react-dom": "19.3.1",
"shiki": "^4.5.0"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.3.3",
Expand Down
2 changes: 1 addition & 1 deletion apps/web/public/create-board.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ cat > "$BOARD_NAME/package.json" <<'MEITH_SCAFFOLD_EOF'
"@meith/web": "0.39.0",
"@meith/cli": "0.39.0",
"@meith/theme-default": "0.39.0",
"next": "16.3.4"
"next": "16.4.3"
},
"engines": {
"node": ">=22"
Expand Down
2 changes: 1 addition & 1 deletion apps/worker/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
},
"devDependencies": {
"esbuild": "^0.28.2",
"tsx": "^4.23.13"
"tsx": "^4.23.15"
}
}
8 changes: 7 additions & 1 deletion biome.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.5.12/schema.json",
"$schema": "https://biomejs.dev/schemas/2.6.3/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
Expand Down Expand Up @@ -43,6 +43,12 @@
"trailingCommas": "none"
}
},
"markdown": {
"formatter": { "enabled": false }
},
"yaml": {
"formatter": { "enabled": false }
},
"css": {
"parser": {
"tailwindDirectives": true
Expand Down
6 changes: 3 additions & 3 deletions boards/stock/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@
"@tailwindcss/postcss": "^4.3.3",
"@types/react": "^19",
"@types/react-dom": "^19",
"next": "16.3.4",
"next": "16.4.3",
"postcss": "^8.5",
"react": "19.2.8",
"react-dom": "19.2.8",
"react": "19.3.1",
"react-dom": "19.3.1",
"tailwindcss": "^4.3.3",
"typescript": "7.0.2"
}
Expand Down
2 changes: 1 addition & 1 deletion docker/compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ services:
# docker compose --profile curl-tick up -d
tick:
profiles: ['curl-tick']
image: alpine:3.24@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
image: alpine:3.24@sha256:be2656061b536c1883c4034790e21d0a09c5aaaf51968b89368a3c0371ea2c9a
restart: unless-stopped
mem_limit: 64m
cpus: 0.25
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing/board-workspaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Keep custom application code outside generated framework directories. Never edit

## Change the framework

Keep Next.js versions aligned across framework peers, scaffold and driver manifests. Regenerate the board installer and update the pnpm lockfile. Deploy template snapshots change during releases.
Keep Next.js versions aligned across framework peers, scaffold and driver manifests. Regenerate the board installer and update the pnpm lockfile. Deploy template snapshots change during releases. The current framework uses Next.js 16.4.3 and React 19.3.1; scaffolded boards must resolve the same Next.js version as `@meith/web` to keep build and runtime internals compatible.

Validate packaging changes with `pnpm board:workspace:smoke` and extension changes with `pnpm extension:workspace:smoke`. These pack local dependencies and test generated consumers, including root materialization, styles and public assets.

Expand Down
4 changes: 3 additions & 1 deletion docs/contributing/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ See [Architecture](architecture.md) and [Board workspaces](board-workspaces.md).

## Validate changes

Run focused tests while editing, then `pnpm verify` and `pnpm comments:check`. Use [Testing](testing.md) for browser and PostgreSQL tests. Format only touched files with `pnpm exec biome check --write <files>`.
Run focused tests while editing, then `pnpm verify` and `pnpm comments:check`. Use [Testing](testing.md) for browser and PostgreSQL tests. Format only touched files with `pnpm exec biome check --write <files>`. When updating Biome, update the schema URL in `biome.json` to match the CLI version, including for generators that load this configuration. Markdown and YAML formatting remain disabled. Generators disable VCS integration when formatting temporary files outside the repository; they still use the shared formatter, import sorting and lint rules.

The tracing SDK remains on OpenTelemetry 2.x. Keep the API below 1.10 and the OTLP HTTP exporter on 0.222.x until migrating the SDK and resources together to 3.x; exporter 0.300.x requires the newer API through its transformer dependency.

No explanatory inline comments are allowed. Put explanations in `docs/`. Exceptions are `biome-ignore`, `@ts-expect-error`, compiler-read type annotations, and the six source files used for generated theme/plugin references. See [Repository checks](repository-checks.md).

Expand Down
2 changes: 2 additions & 0 deletions docs/contributing/repository-checks.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ Biome formats JavaScript, TypeScript, JSON and CSS. Use two spaces, single quote
pnpm exec biome check --write path/to/file.ts
```

Slot copy builders return message dictionaries rather than React components; their tests use targeted `noComponentHookFactories` suppressions where Biome mistakes capitalized slot keys for component factories.

A suppression must name the rule and reason on the preceding line. Do not disable a rule globally to bypass one failure.

## Invariants
Expand Down
2 changes: 1 addition & 1 deletion examples/hello-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@
"react": "^19.2.0"
},
"devDependencies": {
"@types/react": "^19.2.18"
"@types/react": "^19.3.0"
}
}
2 changes: 1 addition & 1 deletion examples/iris-theme/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
"react": "^19.2.0"
},
"devDependencies": {
"@types/react": "^19.2.18"
"@types/react": "^19.3.0"
}
}
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,14 @@
"comments:check": "node scripts/comment-check.mjs"
},
"devDependencies": {
"@biomejs/biome": "2.5.12",
"@electric-sql/pglite": "^0.5.8",
"@electric-sql/pglite-socket": "^0.2.11",
"@playwright/test": "1.63.0",
"@types/node": "^26.4.1",
"@biomejs/biome": "2.6.3",
"@electric-sql/pglite": "^0.5.13",
"@electric-sql/pglite-socket": "^0.2.16",
"@playwright/test": "1.64.1",
"@types/node": "^26.6.5",
"@vitest/coverage-v8": "^4.1.10",
"dependency-cruiser": "^18.2.0",
"tsx": "^4.23.13",
"dependency-cruiser": "^18.7.0",
"tsx": "^4.23.15",
"typescript": "7.0.2",
"vitest": "^4.1.10"
},
Expand Down
4 changes: 2 additions & 2 deletions packages/backup/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
"access": "public"
},
"dependencies": {
"@aws-sdk/client-s3": "3.1127.0",
"@aws-sdk/s3-request-presigner": "3.1127.0",
"@aws-sdk/client-s3": "3.1158.0",
"@aws-sdk/s3-request-presigner": "3.1158.0",
"@meith/core": "workspace:*",
"@meith/upgrade": "workspace:*"
}
Expand Down
10 changes: 5 additions & 5 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@
"typecheck": "tsc -p ../../tsconfig.json --noEmit"
},
"dependencies": {
"@opentelemetry/api": "^1.9.1",
"@opentelemetry/exporter-trace-otlp-http": "^0.222.0",
"@opentelemetry/api": "~1.9.1",
"@opentelemetry/exporter-trace-otlp-http": "~0.222.0",
"@opentelemetry/resources": "^2.11.0",
"@opentelemetry/sdk-trace-node": "^2.11.0",
"@opentelemetry/sdk-trace-node": "^2.12.0",
"@opentelemetry/semantic-conventions": "^1.43.0",
"pino": "^10.3.1",
"zod": "^4.5.4"
"pino": "^10.4.0",
"zod": "^4.6.7"
}
}
2 changes: 1 addition & 1 deletion packages/create-meith/src/scaffold.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,7 @@ describe('the published bin, run the way npx actually runs it', () => {
})

const SELF_HOST_TREE_DIGESTS: Readonly<Record<string, string>> = {
'package.json': 'd3027aad14c2785d9760ddf6d13c8263b1807e30cee6c7574973b49a985ef363',
'package.json': 'c1da083d2680842d2984fe855a48585a401c369ee4f4efee9b4fa1aa0142cd5b',
'.npmrc': 'b147ab9c34152b7b2b4c8464680b4f3ed5e8dbfa35edfdfa7114fd8ac9e61121',
'meith.config.ts': '1ab60a6d39f55cbd8a43191e7f30fd6d61009902221ab9a68662b0db1cb9b36e',
'board.plugins.json': '5775237a361a9183f19cef427633bade5d3d96b4b219e5fc455a304e70319320',
Expand Down
2 changes: 1 addition & 1 deletion packages/create-meith/src/scaffold.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const DEFAULT_REPOSITORY_URL = 'https://github.com/meith-dev/meith'

export const DEFAULT_TEMPLATE_REPOSITORY_URL = 'https://github.com/meith-dev/vercel-template'

export const NEXT_VERSION = '16.3.4'
export const NEXT_VERSION = '16.4.3'

export const AT_ROOT_FLAG = '--at-root'

Expand Down
6 changes: 3 additions & 3 deletions packages/db/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@
"@meith/subscriptions": "workspace:*",
"@meith/tasks": "workspace:*",
"@meith/threads": "workspace:*",
"drizzle-orm": "^0.45.2",
"drizzle-orm": "^0.45.4",
"postgres": "^3.4.7"
},
"devDependencies": {
"drizzle-kit": "^0.31.6",
"@electric-sql/pglite": "^0.5.8"
"drizzle-kit": "^0.31.11",
"@electric-sql/pglite": "^0.5.13"
}
}
16 changes: 8 additions & 8 deletions packages/drivers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
"access": "public"
},
"dependencies": {
"@aws-sdk/client-s3": "3.1127.0",
"@aws-sdk/s3-request-presigner": "3.1127.0",
"@aws-sdk/client-s3": "3.1158.0",
"@aws-sdk/s3-request-presigner": "3.1158.0",
"@jsquash/jpeg": "^1.6.0",
"@jsquash/png": "^3.1.1",
"@jsquash/resize": "^2.1.1",
Expand All @@ -37,13 +37,13 @@
"@meith/i18n": "workspace:*",
"@meith/settings": "workspace:*",
"@types/nodemailer": "^8.0.1",
"@vercel/blob": "2.8.0",
"drizzle-orm": "^0.45.2",
"nodemailer": "^10.0.9",
"redis": "^6.2.1",
"shiki": "^4.4.3"
"@vercel/blob": "2.8.2",
"drizzle-orm": "^0.45.4",
"nodemailer": "^10.2.1",
"redis": "^6.3.0",
"shiki": "^4.5.0"
},
"peerDependencies": {
"next": "16.3.4"
"next": "16.4.3"
}
}
2 changes: 1 addition & 1 deletion packages/import/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
"access": "public"
},
"dependencies": {
"mysql2": "^3.24.3"
"mysql2": "^3.24.6"
}
}
2 changes: 1 addition & 1 deletion packages/install/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@
},
"dependencies": {
"@meith/settings": "workspace:*",
"zod": "^4.5.4"
"zod": "^4.6.7"
}
}
2 changes: 1 addition & 1 deletion packages/plugin-kit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@
"react": "^19.2.0"
},
"devDependencies": {
"@types/react": "^19.2.18"
"@types/react": "^19.3.0"
}
}
2 changes: 1 addition & 1 deletion packages/runtime/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,6 @@
"@meith/theme-default": "workspace:*"
},
"devDependencies": {
"drizzle-orm": "^0.45.2"
"drizzle-orm": "^0.45.4"
}
}
2 changes: 1 addition & 1 deletion packages/settings/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@
"dependencies": {
"@meith/core": "workspace:*",
"@meith/i18n": "workspace:*",
"zod": "^4.5.4"
"zod": "^4.6.7"
}
}
2 changes: 1 addition & 1 deletion packages/testkit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
"@meith/db": "workspace:*",
"@meith/drivers": "workspace:*",
"@meith/forums": "workspace:*",
"drizzle-orm": "^0.45.2"
"drizzle-orm": "^0.45.4"
}
}
2 changes: 1 addition & 1 deletion packages/theme-kit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"react": "^19.2.0"
},
"devDependencies": {
"@types/react": "^19.2.18"
"@types/react": "^19.3.0"
},
"dependencies": {
"@meith/i18n": "workspace:*"
Expand Down
5 changes: 5 additions & 0 deletions packages/theme-kit/src/theme.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ describe('defineTheme', () => {
key: 'typo',
title: 'Typo',
slots: {},
// biome-ignore lint/correctness/noComponentHookFactories: Slot copy builders return messages, not React components.
copy: { Postbit: () => ({}) } as unknown as ThemeDefinition['copy'],
}),
).toThrow(/carries copy for unknown slot "Postbit"/)
Expand Down Expand Up @@ -213,7 +214,9 @@ describe('resolveTheme', () => {
title: 'Grandparent',
slots: { Header: grandparentHeader, Footer: grandparentFooter },
copy: {
// biome-ignore lint/correctness/noComponentHookFactories: Slot copy builders return messages, not React components.
Header: () => ({ 'grandparent.header': 'grandparent' }),
// biome-ignore lint/correctness/noComponentHookFactories: Slot copy builders return messages, not React components.
Footer: () => ({ 'grandparent.footer': 'grandparent' }),
},
})
Expand All @@ -222,6 +225,7 @@ describe('resolveTheme', () => {
title: 'Child',
extends: grandparentWithCopy,
slots: { Header: childHeader },
// biome-ignore lint/correctness/noComponentHookFactories: Slot copy builders return messages, not React components.
copy: { Header: () => ({ 'child.header': 'child' }) },
})

Expand Down Expand Up @@ -262,6 +266,7 @@ describe('slotCopy', () => {
key: 'greets',
title: 'Greets',
slots: {},
// biome-ignore lint/correctness/noComponentHookFactories: Slot copy builders return messages, not React components.
copy: { Header: (translator) => ({ greeting: translator.t('stub.greeting') }) },
}),
)
Expand Down
Loading
Loading