See Design Goals.
- TypeScript
- React
- CSS in JS via Linaria
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.
- tsx:actions
- tsx:api
- tsx:component
- tsx:helper
- tsx:model
- tsx:reducer
- tsx:theme
- tsx:util
- tsx:actions
- tsx:actions
- tsx:actions
yo tsx:actions foo
Creates Redux Actions in
src/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 in
src/reducers/foo/*
.
yo tsx:theme foo
Creates a theme in src/themes/foo
that is modeled after your existing
src/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.
- Yeoman has a heart of gold.
- Yeoman is a person with feelings and opinions, but is very easy to work with.
- Yeoman can be too opinionated at times but is easily convinced not to be.
- Feel free to learn more about Yeoman.
Contributions are welcomed! Read the Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for more information.