
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@milencode/bundlewatch-parsers
Advanced tools
Parse existing bundle analyzer outputs instead of re-analyzing files.
Parse existing bundle analyzer outputs instead of re-analyzing files.
Existing tools like webpack-bundle-analyzer and rollup-plugin-visualizer already do excellent analysis and visualization. Instead of duplicating that work, BundleWatch parses their output and adds:
Result: 10-100x faster than re-analyzing files!
import { parseWebpackStats } from '@milencode/bundlewatch-parsers';
import stats from './stats.json';
const metrics = parseWebpackStats(stats, {
branch: 'main',
commit: 'abc123',
estimateCompression: true, // Estimate gzip/brotli sizes
});
// metrics is now in BuildMetrics format
// Ready for comparison, storage, etc.
parseRollupVisualizer() - Parse rollup-plugin-visualizer outputparseViteManifest() - Parse Vite's .vite/manifest.jsonparseNextjsStats() - Parse Next.js build output// webpack.config.js
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
module.exports = {
plugins: [
new BundleAnalyzerPlugin({
analyzerMode: 'json', // Generate stats.json
generateStatsFile: true,
statsFilename: 'stats.json',
}),
],
};
Then in your CI/post-build:
import { parseWebpackStats } from '@milencode/bundlewatch-parsers';
import { GitStorage } from '@milencode/bundlewatch-core';
import fs from 'fs';
// Read their stats
const stats = JSON.parse(fs.readFileSync('dist/stats.json', 'utf-8'));
// Parse to our format (< 1ms)
const metrics = parseWebpackStats(stats);
// Add our layer (time-series tracking)
const storage = new GitStorage();
await storage.save(metrics);
// Compare against baseline
const baseline = await storage.load('main');
const comparison = compare(metrics, baseline);
console.log(comparison); // See what changed!
Before (re-analyzing files):
After (parsing stats):
~2000x faster!
parseWebpackStats(stats, options)Converts webpack stats.json to BuildMetrics format.
Parameters:
stats - Webpack stats object (from stats.json)options (optional):
branch - Git branch namecommit - Git commit hashestimateCompression - Estimate gzip/brotli sizes (default: true)Returns: BuildMetrics object
MIT
FAQs
Parse existing bundle analyzer outputs instead of re-analyzing files.
We found that @milencode/bundlewatch-parsers 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.