
Research
/Security News
Popular npm Packages in the keyv and Cacheable Namespaces Compromised in Active Supply Chain Attack
Popular npm packages keyv and cacheable compromised.
@browser-echo/vue
Advanced tools
Vue plugin for streaming browser console logs to your dev terminal (non-Vite setups).
Vue plugin for streaming browser console logs to your dev terminal (non-Vite setups).
💡 Using Vue with Vite? Check out our Vue + Vite setup guide for the recommended approach using
@browser-echo/vite.
This package provides a Vue plugin helper for non-Vite environments. If you're using Vite, prefer @browser-echo/vite which includes the dev middleware automatically.
npm install -D @browser-echo/vue @browser-echo/core
# or
pnpm add -D @browser-echo/vue @browser-echo/core
Register the plugin in your app (development only):
// main.ts
import { createApp } from 'vue';
import App from './App.vue';
import { createBrowserEchoVuePlugin } from '@browser-echo/vue';
const app = createApp(App);
// Only in development
if (import.meta.env.DEV) {
app.use(createBrowserEchoVuePlugin({
route: '/__client-logs',
include: ['warn', 'error'],
stackMode: 'condensed',
}));
}
app.mount('#app');
You need a development server endpoint that accepts POST requests at /__client-logs and prints the received logs to your terminal. The Vue plugin only handles the client side.
Example Express.js endpoint:
// dev-server.js
app.post('/__client-logs', express.json(), (req, res) => {
const { sessionId, entries } = req.body;
entries.forEach(entry => {
const timestamp = new Date(entry.time).toISOString();
const level = entry.level.toUpperCase();
console.log(`[browser] [${sessionId}] ${level}: ${entry.text}`);
if (entry.stack) {
console.log(entry.stack);
}
});
res.status(200).end();
});
Pass options to the plugin factory:
const plugin = createBrowserEchoVuePlugin({
route: '/__client-logs',
include: ['warn', 'error'],
preserveConsole: true,
tag: '[vue-app]',
batch: { size: 20, interval: 300 },
stackMode: 'condensed'
});
app.use(plugin);
interface BrowserEchoVueOptions {
route?: `/${string}`; // default: '/__client-logs'
include?: BrowserLogLevel[]; // default: ['log','info','warn','error','debug']
preserveConsole?: boolean; // default: true
tag?: string; // default: '[browser]'
batch?: { size?: number; interval?: number }; // default: 20 / 300ms
stackMode?: 'full' | 'condensed' | 'none'; // default: 'condensed'
}
// main.ts
import { createApp } from 'vue';
import App from './App.vue';
import { createBrowserEchoVuePlugin } from '@browser-echo/vue';
const app = createApp(App);
if (import.meta.env.DEV) {
app.use(createBrowserEchoVuePlugin({
route: '/api/dev-logs',
include: ['warn', 'error'],
stackMode: 'condensed',
tag: '[vue-app]',
batch: { size: 10, interval: 500 }
}));
}
app.mount('#app');
If you prefer not to use the Vue plugin, you can use the core library directly:
// main.ts
import { initBrowserEcho } from '@browser-echo/core';
if (import.meta.env.DEV) {
initBrowserEcho({
route: '/__client-logs',
include: ['warn', 'error'],
});
}
For Vue + Vite projects, use the Vite package instead:
npm install -D @browser-echo/vite
# or
pnpm add -D @browser-echo/vite
// vite.config.ts
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import browserEcho from '@browser-echo/vite';
export default defineConfig({
plugins: [vue(), browserEcho()],
});
For Vue (non-Vite) apps, MCP forwarding depends on your server-side route implementation. The Vue provider only handles browser-side log collection.
Note: Network capture (fetch/XHR/WS) is available via @browser-echo/core and framework providers (Vite, Next, Nuxt). This Vue (non-Vite) package does not inject network capture on its own.
📖 First, set up the MCP server for your AI assistant, then configure framework options below.
BROWSER_ECHO_MCP_URL=http://127.0.0.1:5179/mcp — Set in your server environmentBROWSER_ECHO_SUPPRESS_TERMINAL=1 — Control terminal output in your route handlerSee the React MCP Settings for an example server route with MCP forwarding.
This package depends on @browser-echo/core for the client-side functionality.
| Package | Best for | Includes server | Auto-setup |
|---|---|---|---|
| @browser-echo/vite | Vue + Vite | ✅ | ✅ |
| @browser-echo/nuxt | Nuxt 3/4 | ✅ | ✅ |
| @browser-echo/vue | Vue (non-Vite) | ❌ | ❌ |
include: ['warn', 'error'] to reduce noiseMIT
FAQs
Vue plugin for streaming browser console logs to your dev terminal (non-Vite setups).
We found that @browser-echo/vue 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
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.