Monorepo containing packages that facilitate React component preview and palette features of React Buddy plugin:
- @react-buddy/ide-toolbox
— provides
<DevSupport>utility component that enables component preview functionality - @react-buddy/ide-toolbox-next
— experimental version of
<DevSupport>for Next.js based projects - @react-buddy/palette-antd — palette of Ant Design components
- @react-buddy/palette-chakra-ui — palette of ChakraUI components
- @react-buddy/palette-mantine-core , @react-buddy/palette-mantine-dates , @react-buddy/palette-mantine-dates — palettes of Mantine components
- @react-buddy/palette-mui — palette of MUI components
- @react-buddy/palette-react-intl — palette of MUI components
The
palette-*packages are deprecated. Their sources are kept in the repo for reference, but they are excluded from the workspace and are no longer installed, built, or published from this monorepo.
The repo is an npm workspaces monorepo orchestrated by Lerna 9. Two packages are actively maintained:
@react-buddy/ide-toolbox@react-buddy/ide-toolbox-next
- Node.js >= 24
- npm >= 11
npm installnpm run compileRuns each active package's compile script (rollup) via lerna run.
npm run lint # check
npm run lint:write # auto-fix
npm run format # prettier + eslint --fixMessages must follow Conventional Commits.
commitlint enforces this via a husky commit-msg hook (installed by npm install).
Format:
<type>(<scope>): <summary>
[optional body]
[optional footer]
- type:
feat|fix|perf|refactor|docs|style|test|chore|revert|WIP - scope (optional): package or area, e.g.
ide-toolbox,deps - summary: imperative, lower-case, no period, header ≤ 100 chars
- footer:
BREAKING CHANGE: …triggers a major bump;Closes #Nfor issues
Examples:
feat(ide-toolbox): add usePreviewState hook
fix(ide-toolbox-next): guard SSR access to window
chore(deps): bump rollup to 4.40
feat(ide-toolbox)!: drop React 17
BREAKING CHANGE: peerDependencies now require react >= 18.
Release impact (lerna version --conventional-commits):
fix → patch, feat → minor, ! or BREAKING CHANGE → major, others → no bump.
Versions are bumped from conventional-commit history. Each active package has
independent versioning and its own CHANGELOG.md.
Stable release:
npm run publish:prepare # build all active packages
npm run publish:versions # lerna version + changelog (no push)
git push --follow-tags
npm run publish:release # npm publish from-packageDev prerelease:
npm run publish:prepare
npm run publish:prerelease-versions # bumps to X.Y.Z-dev.N (no changelog)
git push --follow-tags
npm run publish:dev # npm publish --tag dev