Socket
Socket
Sign inDemoInstall

@redux-devtools/extension

Package Overview
Dependencies
4
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @redux-devtools/extension

Wrappers for Redux DevTools Extension.


Version published
Weekly downloads
259K
increased by3.34%
Maintainers
1
Install size
0.954 MB
Created
Weekly downloads
 

Package description

What is @redux-devtools/extension?

@redux-devtools/extension is a package that provides integration with Redux DevTools, a powerful tool for debugging and visualizing the state changes in a Redux application. It allows developers to inspect every action and state change, time travel through states, and even persist states across sessions.

What are @redux-devtools/extension's main functionalities?

Integration with Redux DevTools

This feature allows you to integrate your Redux store with the Redux DevTools extension. By using `composeWithDevTools`, you can enhance your store with DevTools capabilities, making it easier to debug and visualize state changes.

import { createStore } from 'redux';
import { composeWithDevTools } from '@redux-devtools/extension';

const reducer = (state = {}, action) => {
  switch (action.type) {
    case 'INCREMENT':
      return { ...state, count: state.count + 1 };
    default:
      return state;
  }
};

const store = createStore(reducer, composeWithDevTools());

Custom Action Sanitation

This feature allows you to sanitize actions before they are sent to the DevTools. In this example, the `actionSanitizer` function modifies the action type for 'INCREMENT' actions to include '(sanitized)'.

import { createStore } from 'redux';
import { composeWithDevTools } from '@redux-devtools/extension';

const reducer = (state = {}, action) => {
  switch (action.type) {
    case 'INCREMENT':
      return { ...state, count: state.count + 1 };
    default:
      return state;
  }
};

const store = createStore(reducer, composeWithDevTools({
  actionSanitizer: (action) => action.type === 'INCREMENT' ? { ...action, type: 'INCREMENT (sanitized)' } : action
}));

State Serialization

This feature enables state serialization, which is useful for persisting and rehydrating state across sessions. By setting `serialize` to true, the state and actions are serialized before being sent to the DevTools.

import { createStore } from 'redux';
import { composeWithDevTools } from '@redux-devtools/extension';

const reducer = (state = {}, action) => {
  switch (action.type) {
    case 'INCREMENT':
      return { ...state, count: state.count + 1 };
    default:
      return state;
  }
};

const store = createStore(reducer, composeWithDevTools({
  serialize: true
}));

Other packages similar to @redux-devtools/extension

Readme

Source

Redux DevTools Extension's helper

Join the chat at https://gitter.im/zalmoxisus/redux-devtools-extension

Usage

Install:

yarn add @redux-devtools/extension

and use like that:

import { createStore, applyMiddleware } from 'redux';
import { composeWithDevTools } from '@redux-devtools/extension';

const store = createStore(
  reducer,
  composeWithDevTools(
    applyMiddleware(...middleware),
    // other store enhancers if any
  ),
);

or if needed to apply extension’s options:

import { createStore, applyMiddleware } from 'redux';
import { composeWithDevTools } from '@redux-devtools/extension';

const composeEnhancers = composeWithDevTools({
  // Specify here name, actionsDenylist, actionsCreators and other options
});
const store = createStore(
  reducer,
  composeEnhancers(
    applyMiddleware(...middleware),
    // other store enhancers if any
  ),
);

There are just a few lines of code. If you don’t want to allow the extension in production, just use composeWithDevToolsDevelopmentOnly instead of composeWithDevTools.

License

MIT

FAQs

Last updated on 08 Dec 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc