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.
