
Research
NPM targeted by malware campaign mimicking familiar library names
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
zustand-devtools
Advanced tools
This is a small library that dynamically adds names to your devtools actions.
npm i zustand-devtools
yarn add zustand-devtools
Devtools will only log actions from each separated store unlike in a typical combined reducers redux store.
If an action type is not provided, it is defaulted to "anonymous".
To add an action name, a specific action type, pass the third parameter to the set function:
const useCountStore = create((set, get) => ({
count: 0,
increment: () => set(
(state) => ({ count: ++state.count }),
false,
"count/increment" // action name
),
}))
or
const useCountStore = create((set, get) => ({
count: 0,
increment: () => set(
(state) => ({ count: ++state.count }),
false,
{ type: "count/increment" } // action name
),
}))
But it's tedious always throwing out a name
You don't have to manually add names. Instead, the names will be the names of your functions.
For example
import { devtools } from "zustand-devtools";
const useCountStore = create(
devtools((set) => ({
count: 0,
increment: () => set((state) => ({ count: ++state.count })),
})),
);
import { devtools } from "zustand-devtools";
const useCountStore = create(
devtools((set) => ({
count: 0,
increment: () => set((state) => ({ count: ++state.count })),
}), { name: "count" }),
);
If you add a name to devtools options, the output will be like this
But if you want to set your name in the set function, it will be prioritized
import { devtools } from "zustand-devtools";
const useCountStore = create(devtools((set, get) => ({
increment: () => set(
(state) => ({ count: ++state.count }),
false,
"my action name" // action name will be prioritized
),
})))
FAQs
names for zustand devtools
We found that zustand-devtools demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Research
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
Research
Socket's research uncovers three dangerous Go modules that contain obfuscated disk-wiping malware, threatening complete data loss.
Research
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.