Releases: filipsobol/sonda
[email protected]
Minor Changes
- 87d59f9: Add
include
andexclude
options
[email protected]
Patch Changes
- 3ec00ae: (Performance) Prevent duplicate resolution of some imports in Rollup
- 9f34bbf: Add a search field to the Treemap view for filtering inputs
- 1c14126: Log report path after generation
- 5ae02e5: Fix edge case in Treemap where items fail to sort in descending order by size
- 9d25830: Always show input code when available, even if CSS Custom Highlighting API is unsupported
- b230643: Allow filtering inputs by "type" when inspecting asset in Treemap view
- ab2f385: Reintroduce the
filename
configuration option
[email protected]
[email protected]
This is the biggest release of Sonda to date, featuring a complete rewrite of both the backend and frontend. The goals of this rewrite were to:
- Make it easier to inspect large projects with multiple outputs
- Display much more information about assets, inputs, external dependencies, and import relationships
- Significantly reduce the size of the HTML report files
- Prepare the codebase for future improvements and features
Highlights
- New HTML report design – The report has been redesigned to improve navigation and clarity, especially for large projects with multiple outputs. See the demo page for an example.
- New JSON report format – The JSON format has been overhauled to better differentiate resource types and expose relationships between them. For details, refer to the JSON report documentation.
- ESM-only – Sonda is now ESM-only and requires Node.js 20.19 or 22.12+. This change helps reduce the distribution size.
- New output directory – Reports are now saved to the
.sonda
directory and are prefixed with a unique number to avoid overwriting existing reports.
Migration
If you're upgrading from version 0.7, you'll need to update your import paths and configuration.
Import Paths
Each integration now has its own import path. It's recommended to use the path specific to your framework or bundler, as these may include optimizations that improve performance and accuracy.
For example, if you're using Vite or Rolldown, use their dedicated import paths instead of the generic Rollup integration path.
Available import paths:
sonda/angular
sonda/astro
sonda/esbuild
sonda/next
sonda/nuxt
sonda/rolldown
sonda/rollup
(make sure that Sonda is at the top of theplugins
array)sonda/rspack
sonda/sveltekit
sonda/vite
sonda/webpack
Configuration
- The
filename
option has been removed and replaced withoutputDir
, which defaults to.sonda
. All reports are saved to this directory, and filenames are prefixed with a unique number to prevent overwriting. - The
detailed
option has been renamed todeep
.
JSON Report
The JSON report format has been completely redesigned. For complete details, refer to the updated JSON report documentation.
Major Changes
-
0c0113f: BREAKING CHANGE: Drop support for Node 18 and require at least Node 20.19 or 22.12
-
0c0113f: BREAKING CHANGE: Distribute only the ESM builds
-
0c0113f: BREAKING CHANGE: Rename the
detailed
configuration option todeep
. -
0c0113f: BREAKING CHANGE: Reports are now saved to the
.sonda
folder by default. Thefilename
configuration option has been replaced with theoutputDir
option. Each new report will end with incremented numbers to avoid overwriting previous reports. For example:.sonda/sonda_1.html
.sonda/sonda_2.html
.sonda/sonda_3.html
-
0c0113f: BREAKING CHANGE: Change format of the JSON report
-
0c0113f: BREAKING CHANGE: Redesign the HTML report
Minor Changes
- 0c0113f: Add new
sonda/rolldown
,sonda/rspack
andsonda/vite
entrypoints - 0c0113f: GZIP data in HTML report to reduce its size
Patch Changes
[email protected]
Patch Changes
- e05d444: Add Angular CLI integration
[email protected]
Changes
New import paths
This release includes a breaking change. Now every bundler and framework has its own unique import path. For example, if you are using Vite, this is how the import has changed:
- import { SondaRollupPlugin } from 'sonda';
+ import Sonda from 'sonda/vite';
Please refer to the Getting started page for more information.
New integrations
Sonda now has integrations for the following frameworks:
New enabled
option
You can now control whether the Sonda plugin is enabled or not using the enabled
option.
Minor Changes
- 215b289: Create an individual export path for each integration
- 215b289: Add Next.js integration
- 519ddea: Add Nuxt integration
- b450e5b: Add Astro integration
- dc237e5: Add SvelteKit integration
- 215b289: Add the
enabled
option to control whether to run the plugin
Patch Changes
- 215b289: Update dependencies
[email protected]
Patch Changes
- ff135df: Add
mjs
andcjs
as accepted asset extensions
[email protected]
Sonda has a new home. You can now visit https://sonda.dev for installation and usage instructions, or try it out at https://sonda.dev/demo.
Patch Changes
- d6e2d76: Add links to Sonda documentation
[email protected]
Minor Changes
- 0e92901: Add the
filename
option to allow changing the report output path