Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details β†’
Socket
Book a DemoInstallSign in
Socket

sonda

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sonda - npm Package Compare versions

Comparing version
0.10.1
to
0.10.2
+31
-31
bin/sonda-angular.js

@@ -10,41 +10,41 @@ #!/usr/bin/env node

function stringToRegExp(value) {
// 1) Grab optional ^, then any characters, then optional $
const [, start, core, end] = /^(\^?)(.*?)(\$?)$/.exec( value );
// 1) Grab optional ^, then any characters, then optional $
const [, start, core, end] = /^(\^?)(.*?)(\$?)$/.exec(value);
// 2) Escape all regex‑meta in the core
const escaped = core.replace( /[-.*+?^${}()|[\]\\]/g, '\\$&' );
// 2) Escape all regex‑meta in the core
const escaped = core.replace(/[-.*+?^${}()|[\]\\]/g, '\\$&');
// 3) Stitch back the string
return new RegExp( start + escaped + end );
// 3) Stitch back the string
return new RegExp(start + escaped + end);
}
const { values } = parseArgs( {
options: {
config: { type: 'string' },
projects: { type: 'string', multiple: true },
include: { type: 'string', multiple: true },
exclude: { type: 'string', multiple: true },
format: { type: 'string', multiple: true },
filename: { type: 'string' },
outputDir: { type: 'string' },
open: { type: 'string' },
'no-open': { type: 'boolean' },
deep: { type: 'boolean' },
sources: { type: 'boolean' },
gzip: { type: 'boolean' },
brotli: { type: 'boolean' }
},
const { values } = parseArgs({
options: {
config: { type: 'string' },
projects: { type: 'string', multiple: true },
include: { type: 'string', multiple: true },
exclude: { type: 'string', multiple: true },
format: { type: 'string', multiple: true },
filename: { type: 'string' },
outputDir: { type: 'string' },
open: { type: 'string' },
'no-open': { type: 'boolean' },
deep: { type: 'boolean' },
sources: { type: 'boolean' },
gzip: { type: 'boolean' },
brotli: { type: 'boolean' }
},
// Fail when unknown argument is used
strict: true
} );
// Fail when unknown argument is used
strict: true
});
if ( values[ 'no-open' ] ) {
values.open = false;
delete values[ 'no-open' ];
if (values['no-open']) {
values.open = false;
delete values['no-open'];
}
values.include = values.include?.map( stringToRegExp );
values.exclude = values.exclude?.map( stringToRegExp );
values.include = values.include?.map(stringToRegExp);
values.exclude = values.exclude?.map(stringToRegExp);
Sonda( values );
Sonda(values);
# Changelog
## 0.10.2
### Patch Changes
- 8cd728c: Allow uploading a JSON report when no report is embedded in the HTML.
- b78ff1d: [esbuild] Remove duplicate entrypoint connection pointing in the wrong direction.
## 0.10.1

@@ -4,0 +11,0 @@

@@ -6,3 +6,3 @@ import { basename, relative, resolve } from "path";

//#region src/entrypoints/angular.ts
async function SondaAngular({ config = "angular.json", projects = [],...userOptions }) {
async function SondaAngular({ config = "angular.json", projects = [], ...userOptions }) {
const options = new Config(userOptions, {

@@ -9,0 +9,0 @@ integration: "angular",

@@ -5,3 +5,3 @@ import { Config, SondaVitePlugin } from "sonda";

function SondaNuxtPlugin(userOptions = {}) {
return function SondaNuxtPlugin$1(_, nuxt) {
return function SondaNuxtPlugin(_, nuxt) {
const options = new Config(userOptions, {

@@ -8,0 +8,0 @@ integration: "nuxt",

@@ -251,5 +251,5 @@ import { DecodedSourceMap } from "@jridgewell/remapping";

* Base interface for all resources.
*
*
* Resources represent the following inputs:
*
*
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”

@@ -260,7 +260,7 @@ * β”‚ β”‚

* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚
* β”‚
* VIA SOURCEMAP
* β”‚
* β”‚
* β”‚
* β”‚
* VIA SOURCEMAP
* β”‚
* β”‚
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”

@@ -271,32 +271,32 @@ * β”‚ β”‚ β”‚ β”‚

* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚ β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚
* β”‚
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
* β”‚ β”‚
* β”‚ BUNDLER β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚
* β”‚
* β”‚
* β”‚
* β”‚
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
* β”‚ β”‚
* β”‚ ASSET β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚
* β”‚
* VIA SOURCEMAP
* β”‚
* β”‚
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
* β”‚ β”‚
* β”‚ CHUNK β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚ β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚
* β”‚
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
* β”‚ β”‚
* β”‚ BUNDLER β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚
* β”‚
* β”‚
* β”‚
* β”‚
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
* β”‚ β”‚
* β”‚ ASSET β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
* β”‚
* β”‚
* VIA SOURCEMAP
* β”‚
* β”‚
* β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
* β”‚ β”‚
* β”‚ CHUNK β”‚
* β”‚ β”‚
* β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
*/

@@ -328,3 +328,3 @@ interface ResourceBase {

* Size of the resource after GZIP compression.
*
*
* This value is only available when the `gzip` option is enabled.

@@ -335,3 +335,3 @@ */

* Size of the resource after Brotli compression.
*
*
* This value is only available when the `brotli` option is enabled.

@@ -345,3 +345,3 @@ */

* asset and value of `parent` is the name of the output asset.
*
*
* If the `kind` is `sourcemap`, this resource is a part of the source

@@ -446,3 +446,3 @@ * map of other resource and value of `parent` is the name of that resource.

* Stringified source map.
*
*
* Use the `DecodedMap` type for the decoded version of this map (after `JSON.parse()`).

@@ -449,0 +449,0 @@ */

@@ -174,3 +174,3 @@ import { styleText } from "util";

//#region package.json
var version = "0.10.1";
var version = "0.10.2";

@@ -565,4 +565,4 @@ //#endregion

const formatters = {
"html": HtmlFormatter,
"json": JsonFormatter
html: HtmlFormatter,
json: JsonFormatter
};

@@ -679,11 +679,3 @@ var Report = class {

}
for (const [path, output] of Object.entries(metafile.outputs)) {
report.addAsset(path, output.entryPoint ? [output.entryPoint] : void 0);
if (output.entryPoint) report.addConnection({
kind: "entrypoint",
source: normalizePath(output.entryPoint),
target: normalizePath(path),
original: null
});
}
for (const [path, output] of Object.entries(metafile.outputs)) report.addAsset(path, output.entryPoint ? [output.entryPoint] : void 0);
const reportPaths = await report.generate();

@@ -690,0 +682,0 @@ for (const reportPath of reportPaths) console.info(styleText("green", `πŸ“ Sonda report generated: ${reportPath}`));

{
"name": "sonda",
"version": "0.10.1",
"version": "0.10.2",
"description": "Universal bundle analyzer and visualizer that works with most popular bundlers and frameworks.",
"keywords": [
"analyzer",
"angular",
"bundle",
"visualizer",
"analyzer",
"vite",
"rollup",
"rolldown",
"webpack",
"rspack",
"devtools",
"esbuild",
"nextjs",
"nuxt",
"withastro",
"performance",
"rolldown-plugin",
"rollup-plugin",
"rspack",
"sveltekit",
"angular",
"performance",
"devtools"
"visualizer",
"vite-plugin",
"webpack",
"withastro"
],
"engines": {
"node": ">=20.19 || >=22.12"
},
"homepage": "https://sonda.dev",
"license": "MIT",
"type": "module",
"repository": {

@@ -33,3 +30,13 @@ "type": "git",

},
"homepage": "https://sonda.dev",
"bin": {
"sonda-angular": "./bin/sonda-angular.js"
},
"files": [
"bin",
"CHANGELOG.md",
"dist"
],
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {

@@ -50,14 +57,9 @@ ".": "./dist/index.js",

},
"files": [
"bin",
"dist",
"CHANGELOG.md"
],
"bin": {
"sonda-angular": "./bin/sonda-angular.js"
},
"dependencies": {
"@jridgewell/remapping": "^2.3.5",
"open": "^10.2.0"
"open": "^11.0.0"
},
"engines": {
"node": ">=20.19 || >=22.12"
}
}
+13
-13

@@ -7,15 +7,15 @@ # Sonda

* **Bundlers**
* Vite
* Rollup
* Rolldown
* esbuild
* webpack
* Rspack
* **Frameworks**
* Next.js
* Nuxt
* Astro
* SvelteKit
* Angular CLI
- **Bundlers**
- Vite
- Rollup
- Rolldown
- esbuild
- webpack
- Rspack
- **Frameworks**
- Next.js
- Nuxt
- Astro
- SvelteKit
- Angular CLI

@@ -22,0 +22,0 @@ ## Installation

Sorry, the diff of this file is too big to display