Sample app, to demo React + TypeScript usage. Bonus: Redux + Redux-Observable
This project uses the gitflow branching model. See the development section below for additional details.
Once the prerequisites are installed on your system, you can clone this repository with git
and install the code dependencies using yarn
.
git clone https://github.com/shantanuraj/react-ts-starter
yarn
The following steps are for building and installing from the source code. First compile the code to the build
folder in the project directory.
# build:deb compiles to unoptimised dev friendly build
yarn build:dev
# build:prod and build:staging compile to optimised / minified production ready build
# build:staging is useful for using a different deployment path
yarn build:prod
or to compile in watch mode (automatically compile on file change)
yarn dev
Once the url reported by the webpack-dev-server
Note: Code changes are hot-reloaded but not perfectly components render multiple times. You must click the
Reload (⌘R)
if you face any issues.
When you first clone this repository, you'll need to initialize gitflow by running: git flow init -d
in the project root folder.
Now that your local environment is all setup, you can use the following procedure to contribute to this project.
- Run
git flow feature start <feature-name>
- Implement your feature and commit the changes.
- Run
git flow feature finish <feature-name>
Use the following process to cut a new release.
- run
git flow release start <semver>
- bump the
package.json
version. - run
yarn compile
- run
git flow release finish <semver>
- run
git push --follow-tags
- zip the
build
folder and add it as a download to the release.
You'll find a great tutorial on gitflow here if you want to learn more about the details of how it works.
None yet but when they (hopefully exist)
yarn test
- TypeScript - Much Nicer JavaScript
- Webpack 3 - Bundling and transpiling TS to JS
- Workbox - Automated PWA generation
- Redux Observables - Sane tooling / philosophy to manage async redux actions
- typestyle - Type-checked CSS in JS
Please read CONTRIBUTING.md for process details on collaborating on this project.
We use SemVer for versioning. For available versions of this softare, see the (releases on this repository).
See the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details