Yeoman generator for CRA + TypeScript + React + Redux + Router + Testing Library.
See Design Goals.
Add the following
GitHub secrets
to your repo:
CODECOV_TOKEN
NPM_TOKEN
First, install Yeoman and generator-tsx using
npm (we assume you have pre-installed
Node.js).
npm install -g yo generator-tsx
Next, create a new folder for your project:
mkdir project-x
cd project-x
Finally, run the tsx generator to create your initial project files:
yo tsx [<appname>] [<version>] [options]
Project files are generated in the project-x
directory.
Run yo tsx --help
for more information about arguments and options.
All generators create project files including tests.
yo tsx:actions foo
Creates Redux Actions insrc/actions/foo/*
.
This action also modifies src/actions/index.ts
.
yo tsx:api foo
Creates an API client in src/api/foo/*
.
yo tsx:component Foo [--connect]
Creates a React Component
as a simple function in src/components/Foo/*
.
yo tsx:helper foo
Creates a helper function named foo
and places it in src/helpers/foo.ts
(supports slashes in the name for folder depth).
yo tsx:model Foo
Creates a model, defined as a
TypeScript Interface,
in src/models/Foo.ts
.
yo tsx:reducer foo
Creates a Redux Reducer insrc/reducers/foo/*
.
yo tsx:theme foo
Creates a theme in src/themes/foo
that is modeled after your existingsrc/models/Theme.ts
interface.
yo tsx:util foo
Creates a utility function named foo
and places it in src/utils/foo.ts
(supports slashes in the name for folder depth).
For details on our planned features and future direction, please refer to our
roadmap.
Contributions are welcomed! Read the
Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for
more information.