Redux Package
Redux npm package includes actions, action-types and reducers
- TypeScript and Redux: getting started
- TypeScript and Redux: async actions
- TypeScript and Redux: unit testing with Jest
- Integrating TypeScript and redux-thunk
What does it include:
1. exported reducers
2. exported actions
3. exported graphql queries
4. Typescript 2.0.0 => ES6
5. unit testing with jest
Purpose:
This package can be installable in front-end webserver to use the reducers and actions.
The goal is to make a isolated and reusable module that is self-contained. In order to avoid name conflicts, following rules need to be abide.
- MUST export a function call reducer()
- MUST export its action creators as functions
- MUST have action types in the form
@npm-module-or-app/ACTION_TYPE
eg. @@common-stack/INCREMENT_COUNTER
- MUST have reducer in the form
npm-module-or-app/reducer_name
eg. @common-stack/counter
What's not included
- It does not have any client UI components such as React
- It does not configure Redux Store
Useful commands:
npm run build - build the library files
npm run test - run tests once
npm run test:watch - run tests in watchmode (Useful for development)
Files explained:
src - directory is used for typescript code that is part of the project
index.ts - Index file of the package. Consists of exported reducers and actions
index.spec.ts - Tests file for main
actions - Contains Actions to transform the state tree
index.ts - References all the exported actions
reducers - Contains reducers, pure function with (state, action) => state signature.
index.ts - References all the exported reducers.
package.json - file is used to describe the library and packages that are required added under peer-dependencies section
tsconfig.json - configuration file for the library compilation
webpack.config.js - configuration file of the compilation automation process for the library