Repository navigation
Released 2026-10-29.
All 33 packages (@warlock.js/* and create-warlock) move to 5.41.0 together;
keep every family package on the same version. No breaking changes. This release adds
Mantine as a second UI kit for the design system, next to shadcn/ui.
1. Breaking changes
- None.
warlock add design-systemwithout--kitinstalls the shadcn kit exactly as
before.
2. Mantine UI kit (core, create-warlock, web)
- Install:
warlock add design-system --kit mantine(orwarlock add mantine) in an app
with web pages. It does not need Tailwind. - Same contract as the shadcn kit: the same component files and names under
src/web/design-system/(TextInput,EmailInput,PasswordInput,TextareaInput,
SelectInput,MultiSelectInput, the date and time pickers,CheckboxInput,RadioInput,
SwitchInput,FileInput,FieldFrame,SubmitButton), the same props and the same hooks.
App code and generators work with either kit. - Forms stay on Mongez React Form. Every control binds through the shared hooks, and
validation errors show through Mantine'serrorprop.@mantine/formis not installed or
used. - Setup it writes: pinned
@mantine/core,hooks,dates,notifications,modalsand
dayjs;postcss.config.mjswithpostcss-preset-mantine; Mantine's stylesheets in
src/web/app.css; and insrc/web/root.tsxthe colour-scheme script,mantineHtmlProps,
and a provider that mountsMantineProvider, the modals manager and the notifications host.
Existing files are kept, and a root with a custom shape is left alone with the lines to add
printed. - Theme:
src/web/design-system/mantine-theme.tsholds the design tokens you edit
(primary colour, radius, fonts, spacing). - Extras:
notifyandnotifyOnSubmit(toasts that plug intouseSubmitFormand
useSubmitAction),confirm()for confirmation dialogs, andPaginatedTable, which takes
the paginated list response (rowspluspagination). - Kits exclude each other. Asking for one kit while the other is installed, or for both in
one command, fails before anything is installed or written, with the steps to switch.
3. New projects (create-warlock)
--ui=<shadcn|mantine|none>chooses the UI kit of a web app;shadcnstays the default for
--stack=web.--ui=mantinescaffolds without Tailwind.- The interactive stack menu has a "Full-stack web with Mantine" entry, and Customize lists
Mantine among the rendering features. - The scaffold check in CI can create a Mantine or shadcn web project
(npm run typecheck:scaffold -- --ui=mantine).
4. Upgrade notes
- Update the family. Run
npx warlock update. - Read what changed. Run
npx warlock release-notes --from 5.40.1. - Nothing to change for apps on the shadcn kit.
- To switch an app to Mantine, remove the shadcn kit's files and dependencies (the error
message ofwarlock add design-system --kit mantinelists them), then run the command
again. Your forms keep working because the component names and props are the same.