CedarJS is a fork of the RedwoodJS framework with the goal of taking it into the modern web development era with a smooth transition path for existing RedwoodJS applications.
CedarJS is a reliable, modern, and actively maintained full-stack React framework used in production by both large and small companies.
CedarJS would obviously not be where it is today without the vision and heroic efforts of the RedwoodJS founders, maintainers and community.
cedar has become a powerful symbol of strength and revitalization
— https://indigenousfoundations.arts.ubc.ca/cedar/
- Search and replace all instances of
"@redwoodjs/(.*)": "\d+\.\d+\.\d+"
with"@cedarjs/$1": "0.1.1"
(or whatever the latest version of Cedar is when you run this) in all threepackage.json
files. - Run
yarn install
to update your lock file. - Make a git commit with all changes as a checkpoint to make it easier to see what changes in the following steps
- Search and replace all instances of
@redwoodjs
in all files with@cedarjs
. - Also find all mentions of
storybook-framework-redwoodjs-vite
and replace withstorybook-framework-cedarjs
- Pay attention to
yarn.lock
. If anything changed in there you probably have to do some manual editing. (Contact me if you need help.) - Delete all files and folders inside
.redwood/
exceptREADME.md
- Run
yarn install
andyarn rw build
. Make sure everything works as expected. - Make a new git commit (or amend the previous one you did)
- Update
web/vite.config.ts
to haveimport { cedar } from '@cedarjs/vite';
andplugins: [cedar()],
instead of the olderimport redwood from '@redwoodjs/vite';
andplugins: [redwood()],
CedarJS doesn't have the equivalent of Redwood Studio yet. So Studio will not work for now. Let me know if that's something you use and need.
These are things I want to remove to make the surface area of things I need to maintain smaller. Notice that UI libraries you already have setup will continue to work. Just new projects won't have the setup support for them. Auth and deploy providers are more difficult. I'll leave those in longer. Let me know what you use so I know what to keep and what to remove!
- Mantine and Chakra-UI setup
- Redwood Record
- Telemetry
- Auth providers I don't know of anyone using
- Deploy providers I don't know of anyone using
- Old docs versions
- Old codemods
- The structure package (internal legacy package)
- Make all packages ESM only where possible and ESM+CJS where needed to
keep compatibility with existing RW apps. Packages still to convert:
-
@cedarjs/cli
-
@cedarjs/fastify-web
-
@cedarjs/api-server
-
@cedarjs/api
- etc. Full list: #19
-
- Future major version: Make all packages ESM only
- Future major version: Make new Cedar apps ESM only
- Future major version: Make it possible to switch existing Cedar apps to ESM
- Enable strict mode for new Cedar TypeScript apps.
- Upgrade to Node 24
- Setup dependabot/renovate to automatically merge PRs that pass all checks
- Move to Vitest for Cedar apps to prepare for ESM support
- Update packages we use to their latest versions. Notable examples:
-
react
-
prisma
-
apollo
-
vite
-
fastify
-
- Mirror the RedwoodJS docs to make sure they don't get deleted
- Done. See https://cedarjs.com/docs
- Document where CedarJS diverges from RedwoodJS. (Future major version.)
- Better support for file uploads
- dbAuth version with OAuth support
- Whatever I need to make it easier to work with the OpenAI API/SDK and other AI tools
- Your feature request here! Let me know what you need!
0.x releases of CedarJS will be fully compatible with RedwoodJS v8.6, so the best documentation for CedarJS is actually still the RedwoodJS documentation, which I have a copy of here: https://cedarjs.com/docs. I have made a few edits and updates to it, but it's still mostly the same as the original.
The only thing you'll have to adjust are the package names and replace every
@redwoodjs
package with a @cedarjs
package of the same name.
There will be no specific documentation written for CedarJS for now.
Tobbe Lundberg |
![]() |