GraphQL for sample

Usage no npm install needed!

<script type="module">
  import adminideStackClientRedux from 'https://cdn.skypack.dev/@adminide-stack/client-redux';


Redux Package

Redux npm package includes actions, action-types and reducers

  1. TypeScript and Redux: getting started
  2. TypeScript and Redux: async actions
  3. TypeScript and Redux: unit testing with Jest
  4. 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


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.

  1. MUST export a function call reducer()
  2. MUST export its action creators as functions
  3. MUST have action types in the form @npm-module-or-app/ACTION_TYPE eg. @@adminide-stack/INCREMENT_COUNTER
  4. MUST have reducer in the form npm-module-or-app/reducer_name eg. @adminide-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