An opinionated practical CLI for developing full-stack server-rendered React applications. You can use it to generate an independent React application (optionally with TypeScript) that's fully-configured to render on both client and server. You can also use it to render simple template applications (without SSR).
This CLI requires Node >= 10.x.
npx reactful create my-awesome-react-app
This will create a new reactful project using the default template (webpack, babel, express, with support for SSR).
You can also use a few different templates using:
npx reactful create -t <template_name> my-awesome-react-app
Once a project is created you can use the "start" command to start it in development mode:
cd my-awesome-react-app # To start the dev server and dev bundler watchers npx reactful start
On the "default" and "typescript" templates, the "start" command will run 2 commands concurrently, you can also run them separately with:
npx reactful dev:server # runs on port 1234 by default npx reactful dev:bundler # this will re-bundle on save
To run all the tests:
npx reactful test
To build and start the app in production:
npx reactful build:all npx reactful prod:start
If you keep the folder structure initialized by the package, you can use reactful to generate component files. For example:
npx reactful gc ComponentName # Create a new function component npx reactful gcc ComponentName # Create a new class component
These commands will also create a jest snapshot test for the generated component.
While in a React application that's created with this tool, you can always revert things back to the default configurations with the
init command. You can also use this command in an empty directory.
cd my-awesome-react-app npx reactful init
If that directory already has files, reactful will ask you if you want to override them.
Reactful is MIT licensed.