
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
@blac/devtools-connect
Advanced tools
DevTools connection plugin for BlaC state management library.
npm install @blac/devtools-connect
# or
pnpm add @blac/devtools-connect
# or
yarn add @blac/devtools-connect
The fastest way to get DevTools support. Use the existing Redux DevTools extension!
Step 1: Install Redux DevTools Extension
Step 2: Add the adapter to your app:
import { Blac } from '@blac/core';
import { ReduxDevToolsAdapter } from '@blac/devtools-connect';
// Add Redux DevTools integration
Blac.instance.plugins.add(
new ReduxDevToolsAdapter({
enabled: import.meta.env.DEV, // Only in development
name: 'My App State',
}),
);
Step 3: Open Redux DevTools and start debugging!
✅ Benefits:
For advanced BlaC-specific features (coming soon).
import { Blac } from '@blac/core';
import { DevToolsPlugin } from '@blac/devtools-connect';
Blac.instance.plugins.add(
new DevToolsPlugin({
enabled: import.meta.env.DEV,
maxEvents: 500,
}),
);
Install the BlaC DevTools extension from Chrome Web Store (coming soon).
new ReduxDevToolsAdapter({
// Enable/disable the adapter (default: true)
enabled: import.meta.env.DEV,
// DevTools instance name (default: "BlaC State")
name: 'My App State',
// Maximum actions to keep in history (default: 50)
maxAge: 50,
// Enable action stack traces (default: false)
trace: false,
// Customize Redux DevTools features
features: {
pause: true,
lock: true,
persist: true,
export: true,
import: 'custom',
jump: true,
skip: true,
reorder: true,
dispatch: true,
},
});
new DevToolsPlugin({
// Enable/disable the plugin (default: true)
enabled: import.meta.env.DEV,
// Maximum events to keep in history (default: 500)
maxEvents: 500,
// Maximum message size in bytes (default: 10MB)
maxMessageSize: 10_000_000,
// Maximum messages per second (default: 100)
maxMessagesPerSecond: 100,
});
const adapter = new ReduxDevToolsAdapter(config);
// Check if connected to Redux DevTools
const connected = adapter.isConnected();
// Disconnect from Redux DevTools
adapter.disconnect();
const plugin = new DevToolsPlugin(config);
// Get event history
const history = plugin.getEventHistory();
// Clear event history
plugin.clearEventHistory();
// Disable plugin at runtime
plugin.disable();
// Re-enable plugin
plugin.enable();
The ReduxDevToolsAdapter maps BlaC lifecycle events to Redux DevTools actions:
Bloc Event → Redux DevTools Action
─────────────────────────────────────────────────
BlocCreated → [CounterBloc] CREATED
EventAdded (increment) → [CounterBloc] IncrementEvent
StateChanged (0 → 1) → [CounterBloc] STATE_CHANGED
BlocDisposed → [CounterBloc] DISPOSED
Redux DevTools shows a unified state tree of all active Blocs:
{
"CounterBloc": { "count": 5 },
"UserBloc": { "name": "Alice", "isLoggedIn": true },
"CartBloc": { "items": [...], "total": 99.99 }
}
✅ Fully Working! Time-travel debugging now automatically restores Bloc states when you navigate through Redux DevTools history.
Simply use Redux DevTools' time-travel controls:
The adapter will:
Listen for time-travel events if you need custom handling:
window.addEventListener('blac-devtools-time-travel', (event) => {
const { targetState, restoredCount, failedCount } = event.detail;
console.log(`Restored ${restoredCount} blocs to historical state`);
if (failedCount > 0) {
console.warn(`${failedCount} blocs failed to restore`);
}
});
enabled: true in config (or use import.meta.env.DEV)emit() calls)This means serialization failed (likely circular reference or very deep object). Check browser console for serialization warnings.
See the playground app for a complete example.
MIT
FAQs
DevTools connection plugin for BlaC state management
The npm package @blac/devtools-connect receives a total of 432 weekly downloads. As such, @blac/devtools-connect popularity was classified as not popular.
We found that @blac/devtools-connect demonstrated a healthy version release cadence and project activity because the last version was released less than 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
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.