Please make sure you have the yarn package manager.
npm install yarn -g
Then:
git clone git@github.com:slavomirvojacek/react-redux-typescript.git
yarn install
# Hack to resolve all react-router dependencies
cd node_modules/react-router && npm install && cd ../..
# Set up .env files properly
npm run copy-env
# For production do:
cp .env.example .env
cp .env .env.production
Update .env.production
so the value of NODE_ENV is production
npm start
npm test
All JavaScript lives in ./app
.
For a simple Component example, visit ./app/Welcome/Component.tsx
. For a more comprehensive example of a connected component, visit ./app/Shared/Notification
.
To introduce a new Reducer, remember to add it into ./app/configureStoreAndHistory.ts
(following the NotificationReducer example).
All CSS lives in ./public/css
.
The Sass project is built on top of Google Material Design (./public/css/src/vendor/materialize-src
), however all custom styling is located in the root of ./public/css/src
.
In order to compile sass and minify the resulting css, run
npm run compile:sass && npm run clean:css
When developing, I suggest running
npm run watch:sass
in a separate shell so CSS is emitted whenever a .sass
or .scss
file is changed.