tsrux stands for typesafe redux. It reduces boilerplate redux code.

Usage no npm install needed!

<script type="module">
  import tsrux from 'https://cdn.skypack.dev/tsrux';



Build Status Code Coverage License Minified + gzipped size NPM version Stars Watchers

tsrux enables you to reduce the redux boilerplate code you usually write to define your action creators, reducers, etc. and even gain type-safety in the process!

The name stands for typesafe redux, aside from the bloody obvious: TypeScript Rocks!

Why use tsrux

Installation via NPM

npm i tsrux

This library is shipped as es2015 modules. To use them in browsers, you'll have to transpile them using webpack or similar, which you probably already do.

Example: Actions Creators

// No payload:
export const fetchTodos = actionCreator("TODOS/FETCH");
// With payload:
export const addTodo = actionCreator("TODOS/ADD", (label: string) => ({ label }));
// With payload and metadata:
export const removeTodo = actionCreator(
    (id: number) => ({ id }),
    (id: number) => ({ metaId: id, foo: "bar" }),

find out more

Example: Reducers

export const todosReducer = mapReducers(initialState, (handle) => [
    handle(addTodo, (state, action) => ({
        list: [...state.list, { id: state.nextId, label: action.payload.label, checked: false }],
        nextId: state.nextId + 1,

find out more

Similar Projects

This package is heavily inspired by deox, but uses a more lightweight approach.

Aside from that, there are redux-actions and typesafe-actions.

Report issues

Something not working quite as expected? Do you need a feature that has not been implemented yet? Check the issue tracker and add a new one if your problem is not already listed. Please try to provide a detailed description of your problem, including the steps to reproduce it.


Awesome! If you would like to contribute with a new feature or submit a bugfix, fork this repo and send a pull request. Please, make sure all the unit tests are passing before submitting and add new ones in case you introduced new features.


tsrux has been released under the zlib/libpng license, meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. Credits are appreciated but not mandatory.