sonda 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +19 -12
- package/dist/index.cjs +15 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.html +9 -2
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/report.d.ts.map +1 -1
- package/dist/types.d.ts +32 -25
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 744143d: Add `sources` option for visualizing parts of the code included in the final bundle.
|
|
8
|
+
- 3427bb0: Show the estimated download time using "Slow 3G" for assets
|
|
9
|
+
|
|
3
10
|
## 0.4.1
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -155,7 +155,7 @@ SondaRollupPlugin( {
|
|
|
155
155
|
* **Type:** `string`
|
|
156
156
|
* **Default:** `'html'`
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
Determines the output format of the report. The following formats are supported:
|
|
159
159
|
|
|
160
160
|
* `'html'` - HTML file with treemap
|
|
161
161
|
* `'json'` - JSON file
|
|
@@ -165,39 +165,46 @@ The format of the output. The following formats are supported:
|
|
|
165
165
|
* **Type:** `boolean`
|
|
166
166
|
* **Default:** `true`
|
|
167
167
|
|
|
168
|
-
|
|
168
|
+
Determines whether to open the report in the default program for given file extension (`.html` or `.json` depending on the `format` option) after the build.
|
|
169
169
|
|
|
170
170
|
### `detailed`
|
|
171
171
|
|
|
172
172
|
* **Type:** `boolean`
|
|
173
173
|
* **Default:** `false`
|
|
174
174
|
|
|
175
|
-
|
|
175
|
+
Determines whether to read the source maps of imported modules.
|
|
176
176
|
|
|
177
|
-
By default, external dependencies that are bundled into a single file
|
|
177
|
+
By default, external dependencies that are bundled into a single file appear as a single asset in the report. When this option is enabled, the report will instead include the source files of the imported modules, if they have source maps.
|
|
178
178
|
|
|
179
|
-
Enabling this
|
|
179
|
+
Enabling this option will increase the time needed to generate the report and reduce the accuracy of estimated GZIP and Brotli sizes for individual files.
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
### `sources`
|
|
182
|
+
|
|
183
|
+
* **Type:** `boolean`
|
|
184
|
+
* **Default:** `false`
|
|
185
|
+
|
|
186
|
+
Determines whether to include the source maps of the assets in the report to visualize which parts of the code contribute to the final bundle size.
|
|
187
|
+
|
|
188
|
+
⚠️ Enabling this option will significantly increase the report size and include it in the **source code** of the assets. If you work with proprietary code, be cautious when sharing the report. ⚠️
|
|
182
189
|
|
|
183
190
|
### `gzip`
|
|
184
191
|
|
|
185
192
|
* **Type:** `boolean`
|
|
186
193
|
* **Default:** `false`
|
|
187
194
|
|
|
188
|
-
|
|
195
|
+
Determines whether to calculate the sizes of assets after compression with GZIP.
|
|
189
196
|
|
|
190
|
-
The report will
|
|
197
|
+
The report will include estimated compressed sizes for each file within an asset. However, unlike the compressed size of the entire asset, these individual file estimates are approximate and should be used as a general reference.
|
|
191
198
|
|
|
192
|
-
Enabling this option will increase the time
|
|
199
|
+
Enabling this option will increase the time needed to generate the report.
|
|
193
200
|
|
|
194
201
|
### `brotli`
|
|
195
202
|
|
|
196
203
|
* **Type:** `boolean`
|
|
197
204
|
* **Default:** `false`
|
|
198
205
|
|
|
199
|
-
|
|
206
|
+
Determines whether to calculate the sizes of assets after compression with Brotli.
|
|
200
207
|
|
|
201
|
-
The report will
|
|
208
|
+
The report will include estimated compressed sizes for each file within an asset. However, unlike the compressed size of the entire asset, these individual file estimates are approximate and should be used as a general reference.
|
|
202
209
|
|
|
203
|
-
Enabling this option will increase the time
|
|
210
|
+
Enabling this option will increase the time needed to generate the report.
|
package/dist/index.cjs
CHANGED
|
@@ -111,6 +111,7 @@ function normalizeOptions(options) {
|
|
|
111
111
|
open: true,
|
|
112
112
|
format: 'html',
|
|
113
113
|
detailed: false,
|
|
114
|
+
sources: false,
|
|
114
115
|
gzip: false,
|
|
115
116
|
brotli: false
|
|
116
117
|
};
|
|
@@ -257,7 +258,11 @@ function getContributions(sources) {
|
|
|
257
258
|
}
|
|
258
259
|
|
|
259
260
|
function generateJsonReport(assets, inputs, options) {
|
|
260
|
-
const
|
|
261
|
+
const acceptedExtensions = [
|
|
262
|
+
'.js',
|
|
263
|
+
'.css'
|
|
264
|
+
];
|
|
265
|
+
const outputs = assets.filter((asset)=>acceptedExtensions.includes(path.extname(asset))).reduce((carry, asset)=>{
|
|
261
266
|
const data = processAsset(asset, inputs, options);
|
|
262
267
|
if (data) {
|
|
263
268
|
carry[normalizePath(asset)] = data;
|
|
@@ -273,7 +278,7 @@ function generateHtmlReport(assets, inputs, options) {
|
|
|
273
278
|
const json = generateJsonReport(assets, inputs, options);
|
|
274
279
|
const __dirname = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))));
|
|
275
280
|
const template = fs.readFileSync(path.resolve(__dirname, './index.html'), 'utf-8');
|
|
276
|
-
return template.replace('__REPORT_DATA__', JSON.stringify(json));
|
|
281
|
+
return template.replace('__REPORT_DATA__', encodeURIComponent(JSON.stringify(json)));
|
|
277
282
|
}
|
|
278
283
|
function processAsset(asset, inputs, options) {
|
|
279
284
|
const maybeCodeMap = loadCodeAndMap(asset);
|
|
@@ -294,7 +299,14 @@ function processAsset(asset, inputs, options) {
|
|
|
294
299
|
}, {});
|
|
295
300
|
return {
|
|
296
301
|
...assetSizes,
|
|
297
|
-
inputs: sortObjectKeys(outputInputs)
|
|
302
|
+
inputs: sortObjectKeys(outputInputs),
|
|
303
|
+
map: options.sources ? {
|
|
304
|
+
version: 3,
|
|
305
|
+
names: [],
|
|
306
|
+
mappings: mapped.mappings,
|
|
307
|
+
sources: mapped.sources,
|
|
308
|
+
sourcesContent: mapped.sourcesContent
|
|
309
|
+
} : undefined
|
|
298
310
|
};
|
|
299
311
|
}
|
|
300
312
|
function hasCodeAndMap(result) {
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../load-source-map/dist/index.js","../src/utils.ts","../src/sourcemap/map.ts","../src/sourcemap/bytes.ts","../src/report.ts","../src/report/generate.ts","../src/bundlers/esbuild.ts","../src/bundlers/rollup.ts","../src/bundlers/webpack.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { join, dirname, isAbsolute, resolve } from 'path';\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented in the source maps specification),\n * and parses the string as JSON.\n *\n * https://github.com/mozilla/source-map/blob/3cb92cc3b73bfab27c146bae4ef2bc09dbb4e5ed/lib/util.js#L162-L164\n */ function parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, \"\"));\n}\n/**\n\tsourceMappingURL=data:application/json;charset=utf-8;base64,data\n\tsourceMappingURL=data:application/json;base64,data\n\tsourceMappingURL=data:application/json;uri,data\n\tsourceMappingURL=map-file-comment.css.map\n\tsourceMappingURL=map-file-comment.css.map?query=value\n*/ const sourceMappingRegExp = /[@#]\\s*sourceMappingURL=(\\S+)\\b/g;\nfunction loadCodeAndMap(codePath) {\n if (!existsSync(codePath)) {\n return null;\n }\n const code = readFileSync(codePath, 'utf-8');\n const extractedComment = code.includes('sourceMappingURL') && Array.from(code.matchAll(sourceMappingRegExp)).at(-1);\n if (!extractedComment || !extractedComment.length) {\n return {\n code\n };\n }\n const maybeMap = loadMap(codePath, extractedComment[1]);\n if (!maybeMap) {\n return {\n code\n };\n }\n const { map, mapPath } = maybeMap;\n map.sources = normalizeSourcesPaths(map, mapPath);\n map.sourcesContent = loadMissingSourcesContent(map);\n delete map.sourceRoot;\n return {\n code,\n map\n };\n}\nfunction loadMap(codePath, sourceMappingURL) {\n if (sourceMappingURL.startsWith('data:')) {\n const map = parseDataUrl(sourceMappingURL);\n return {\n map: parseSourceMapInput(map),\n mapPath: codePath\n };\n }\n const sourceMapFilename = new URL(sourceMappingURL, 'file://').pathname;\n const mapPath = join(dirname(codePath), sourceMapFilename);\n if (!existsSync(mapPath)) {\n return null;\n }\n return {\n map: parseSourceMapInput(readFileSync(mapPath, 'utf-8')),\n mapPath\n };\n}\nfunction parseDataUrl(url) {\n const [prefix, payload] = url.split(',');\n const encoding = prefix.split(';').at(-1);\n switch(encoding){\n case 'base64':\n return Buffer.from(payload, 'base64').toString();\n case 'uri':\n return decodeURIComponent(payload);\n default:\n throw new Error('Unsupported source map encoding: ' + encoding);\n }\n}\n/**\n * Normalize the paths of the sources in the source map to be absolute paths.\n */ function normalizeSourcesPaths(map, mapPath) {\n const mapDir = dirname(mapPath);\n return map.sources.map((source)=>{\n if (!source) {\n return source;\n }\n return isAbsolute(source) ? source : resolve(mapDir, map.sourceRoot ?? '.', source);\n });\n}\n/**\n * Loop through the sources and try to load missing `sourcesContent` from the file system.\n */ function loadMissingSourcesContent(map) {\n return map.sources.map((source, index)=>{\n if (map.sourcesContent?.[index]) {\n return map.sourcesContent[index];\n }\n if (source && existsSync(source)) {\n return readFileSync(source, 'utf-8');\n }\n return null;\n });\n}\n\nexport { loadCodeAndMap };\n//# sourceMappingURL=index.js.map\n","import { relative, win32, posix } from 'path';\nimport type { Options } from './types';\n\nexport const esmRegex: RegExp = /\\.m[tj]sx?$/;\nexport const cjsRegex: RegExp = /\\.c[tj]sx?$/;\nexport const jsRegexp: RegExp = /\\.[cm]?[tj]s[x]?$/;\n\nexport function normalizeOptions( options?: Partial<Options> ) {\n\tconst defaultOptions: Options = {\n\t\topen: true,\n\t\tformat: 'html',\n\t\tdetailed: false,\n\t\tgzip: false,\n\t\tbrotli: false,\n\t};\n\n\treturn Object.assign( {}, defaultOptions, options ) as Options;\n}\n\nexport function normalizePath( pathToNormalize: string ): string {\n\t// Unicode escape sequences used by Rollup and Vite to identify virtual modules\n\tconst normalized = pathToNormalize.replace( /^\\0/, '' )\n\n\t// Transform absolute paths to relative paths\n\tconst relativized = relative( process.cwd(), normalized );\n\n\t// Ensure paths are POSIX-compliant - https://stackoverflow.com/a/63251716/4617687\n\treturn relativized.replaceAll( win32.sep, posix.sep );\n}\n","import { default as remapping, type DecodedSourceMap, type EncodedSourceMap } from '@ampproject/remapping';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { resolve } from 'path';\nimport { normalizePath } from '../utils';\nimport type { CodeMap, ReportInput } from '../types';\n\nexport function mapSourceMap(\n\tmap: EncodedSourceMap,\n\tdirPath: string,\n\tinputs: Record<string, ReportInput>\n): DecodedSourceMap {\n\tconst alreadyRemapped = new Set<string>();\n\tconst remapped = remapping( map, ( file, ctx ) => {\n\t\tif ( alreadyRemapped.has( file ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\talreadyRemapped.add( file );\n\n\t\tconst codeMap = addSourcesToInputs(\n\t\t\tresolve( dirPath, file ),\n\t\t\tinputs\n\t\t);\n\n\t\tif ( !codeMap ) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.content ??= codeMap.code;\n\n\t\treturn codeMap.map;\n\t}, { decodedMappings: true } );\n\n\treturn remapped as DecodedSourceMap;\n}\n\n/**\n * Loads the source map of a given file and adds its \"sources\" to the given inputs object.\n */\nexport function addSourcesToInputs(\n\tpath: string,\n\tinputs: Record<string, ReportInput>\n): CodeMap | null {\n\tconst codeMap = loadCodeAndMap( path );\n\n\tif ( !codeMap ) {\n\t\treturn null;\n\t}\n\n\tconst parentPath = normalizePath( path );\n\tconst format = inputs[ parentPath ]?.format ?? 'unknown';\n\n\tcodeMap.map?.sources\n\t\t.filter( source => source !== null )\n\t\t.forEach( ( source, index ) => {\n\t\t\tconst normalizedPath = normalizePath( source );\n\n\t\t\tif ( parentPath === normalizedPath ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinputs[ normalizedPath ] = {\n\t\t\t\tbytes: Buffer.byteLength( codeMap.map!.sourcesContent?.[ index ] ?? '' ),\n\t\t\t\tformat,\n\t\t\t\timports: [],\n\t\t\t\tbelongsTo: parentPath\n\t\t\t};\n\t\t} );\n\t\n\treturn codeMap;\n}\n","import { gzipSync, brotliCompressSync } from 'zlib';\nimport type { DecodedSourceMap, SourceMapSegment } from '@ampproject/remapping';\nimport type { Options, Sizes } from '../types';\n\nconst UNASSIGNED = '[unassigned]';\n\nexport function getBytesPerSource(\n\tcode: string,\n\tmap: DecodedSourceMap,\n\tassetSizes: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst contributions = getContributions( map.sources );\n\n\t// Split the code into lines\n\tconst codeLines = code.split( /(?<=\\r?\\n)/ );\n\n\tfor ( let lineIndex = 0; lineIndex < codeLines.length; lineIndex++ ) {\n\t\tconst lineCode = codeLines[ lineIndex ];\n\t\tconst mappings = map.mappings[ lineIndex ] || [];\n\t\tlet currentColumn = 0;\n\n\t\tfor ( let i = 0; i <= mappings.length; i++ ) {\n\t\t\t// 0: generatedColumn\n\t\t\t// 1: sourceIndex\n\t\t\t// 2: originalLine\n\t\t\t// 3: originalColumn\n\t\t\t// 4: nameIndex\n\n\t\t\tconst mapping: SourceMapSegment | undefined = mappings[ i ];\n\t\t\tconst startColumn = mapping?.[ 0 ] ?? lineCode.length;\n\t\t\tconst endColumn = mappings[ i + 1 ]?.[ 0 ] ?? lineCode.length;\n\n\t\t\t// Slice the code from currentColumn to startColumn for unassigned code\n\t\t\tif ( startColumn > currentColumn ) {\n\t\t\t\tcontributions.set( UNASSIGNED, contributions.get( UNASSIGNED ) + lineCode.slice( currentColumn, startColumn ) );\n\t\t\t}\n\n\t\t\tif ( mapping ) {\n\t\t\t\t// Slice the code from startColumn to endColumn for assigned code\n\t\t\t\tconst sourceIndex = mapping?.[ 1 ];\n\t\t\t\tconst codeSlice = lineCode.slice( startColumn, endColumn );\n\t\t\t\tconst source = sourceIndex !== undefined ? map.sources[ sourceIndex ]! : UNASSIGNED;\n\n\t\t\t\tcontributions.set( source, contributions.get( source ) + codeSlice );\n\t\t\t\tcurrentColumn = endColumn;\n\t\t\t} else {\n\t\t\t\tcurrentColumn = startColumn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compute sizes for each source\n\tconst sourceSizes = new Map<string, Sizes>();\n\n\tconst contributionsSum: Sizes = {\n\t\tuncompressed: 0,\n\t\tgzip: 0,\n\t\tbrotli: 0\n\t};\n\n\tfor ( const [ source, codeSegment ] of contributions ) {\n\t\tconst sizes = getSizes( codeSegment, options );\n\n\t\tcontributionsSum.uncompressed += sizes.uncompressed;\n\t\tcontributionsSum.gzip += sizes.gzip;\n\t\tcontributionsSum.brotli += sizes.brotli;\n\n\t\tsourceSizes.set( source, sizes );\n\t}\n\n\treturn adjustSizes( sourceSizes, assetSizes, contributionsSum, options );\n}\n\nexport function getSizes(\n\tcode: string,\n\toptions: Options\n): Sizes {\n\treturn {\n\t\tuncompressed: Buffer.byteLength( code ),\n\t\tgzip: options.gzip ? gzipSync( code ).length : 0,\n\t\tbrotli: options.brotli ? brotliCompressSync( code ).length : 0\n\t};\n}\n\nfunction getContributions( sources: Array<string | null> ): Map<string, string> {\n\tconst contributions = new Map<string, string>();\n\n\t// Populate contributions with sources\n\tsources\n\t\t.filter( source => source !== null )\n\t\t.forEach( source => contributions.set( source, '' ) );\n\n\t// Add entry for the code that is not assigned to any source\n\tcontributions.set( UNASSIGNED, '' );\n\n\treturn contributions;\n}\n\n/**\n * Compression efficiency improves with the size of the file.\n *\n * However, what we have is the compressed size of the entire bundle (`actual`),\n * the sum of all files compressed individually (`sum`) and the compressed\n * size of a given file (`content`). The last value is essentially a “worst-case”\n * scenario, and the actual size of the file in the bundle is likely to be smaller.\n *\n * We use this information to estimate the actual size of the file in the bundle\n * after compression.\n */\nfunction adjustSizes(\n\tsources: Map<string, Sizes>,\n\tasset: Sizes,\n\tsums: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst gzipDelta = options.gzip ? asset.gzip / sums.gzip : 0;\n\tconst brotliDelta = options.brotli ? asset.brotli / sums.brotli : 0;\n\n\tfor ( const [ source, sizes ] of sources ) {\n\t\tsources.set( source, {\n\t\t\tuncompressed: sizes.uncompressed,\n\t\t\tgzip: options.gzip ? Math.round( sizes.gzip * gzipDelta ) : 0,\n\t\t\tbrotli: options.brotli ? Math.round( sizes.brotli * brotliDelta ) : 0\n\t\t} );\n\t}\n\n\treturn sources;\n}\n","import { readFileSync } from 'fs';\nimport { fileURLToPath } from 'url';\nimport { dirname, resolve } from 'path';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { mapSourceMap } from './sourcemap/map.js';\nimport { getBytesPerSource, getSizes } from './sourcemap/bytes.js';\nimport type {\n JsonReport,\n MaybeCodeMap,\n ReportInput,\n ReportOutput,\n CodeMap,\n ReportOutputInput,\n Options\n} from './types.js';\nimport { normalizePath } from './utils.js';\n\nexport function generateJsonReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): JsonReport {\n const outputs = assets\n .filter( asset => !asset.endsWith( '.map' ) )\n .reduce( ( carry, asset ) => {\n const data = processAsset( asset, inputs, options );\n\n if ( data ) {\n carry[ normalizePath( asset ) ] = data;\n }\n\n return carry;\n }, {} as Record<string, ReportOutput> );\n\n return {\n inputs: sortObjectKeys( inputs ),\n outputs: sortObjectKeys( outputs )\n };\n}\n\nexport function generateHtmlReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): string {\n const json = generateJsonReport( assets, inputs, options );\n const __dirname = dirname( fileURLToPath( import.meta.url ) );\n const template = readFileSync( resolve( __dirname, './index.html' ), 'utf-8' );\n\n return template.replace( '__REPORT_DATA__', JSON.stringify( json ) );\n}\n\nfunction processAsset(\n asset: string,\n inputs: Record<string, ReportInput>,\n options: Options\n): ReportOutput | void {\n const maybeCodeMap = loadCodeAndMap( asset );\n\n if ( !hasCodeAndMap( maybeCodeMap ) ) {\n return;\n }\n\n const { code, map } = maybeCodeMap;\n const mapped = options.detailed\n ? mapSourceMap( map, dirname( asset ), inputs )\n : { ...map, mappings: decode( map.mappings ) };\n\n mapped.sources = mapped.sources.map( source => normalizePath( source! ) );\n\n const assetSizes = getSizes( code, options );\n const bytes = getBytesPerSource( code, mapped, assetSizes, options );\n const outputInputs = Array\n .from( bytes )\n .reduce( ( carry, [ source, sizes ] ) => {\n carry[ normalizePath( source ) ] = sizes;\n\n return carry;\n }, {} as Record<string, ReportOutputInput> );\n\n return {\n ...assetSizes,\n inputs: sortObjectKeys( outputInputs )\n };\n}\n\nfunction hasCodeAndMap( result: MaybeCodeMap ): result is Required<CodeMap> {\n return Boolean( result && result.code && result.map );\n}\n\nfunction sortObjectKeys<T extends unknown>( object: Record<string, T> ): Record<string, T> {\n return Object\n .keys( object )\n .sort()\n .reduce( ( carry, key ) => {\n carry[ key ] = object[ key ];\n\n return carry;\n }, {} as Record<string, T> );\n} \n","import { join } from 'path';\nimport { writeFileSync } from 'fs';\nimport { generateHtmlReport, generateJsonReport } from '../report.js';\nimport type { Options, JsonReport } from '../types.js';\nimport { normalizeOptions } from '../utils.js';\n\nexport async function generateReportFromAssets(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\tuserOptions: Partial<Options>\n): Promise<void> {\n\tconst options = normalizeOptions( userOptions );\n\tconst handler = options.format === 'html' ? saveHtml : saveJson;\n\tconst path = handler( assets, inputs, options );\n\n\tif ( !options.open || !path ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * `open` is ESM-only package, so we need to import it\n\t * dynamically to make it work in CommonJS environment.\n\t */\n\tconst { default: open } = await import( 'open' );\n\n\topen( path );\n}\n\nfunction saveHtml(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateHtmlReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.html' );\n\n\twriteFileSync( path, report );\n\n\treturn path;\n}\n\nfunction saveJson(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateJsonReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.json' );\n\n\twriteFileSync( path, JSON.stringify( report, null, 2 ) );\n\n\treturn path;\n}\n","import { resolve } from 'path';\nimport { addSourcesToInputs } from '../sourcemap/map';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Plugin } from 'esbuild';\nimport type { Options, JsonReport } from '../types';\n\nexport function SondaEsbuildPlugin( options: Partial<Options> = {} ): Plugin {\n\treturn {\n\t\tname: 'sonda',\n\t\tsetup( build ) {\n\t\t\tbuild.initialOptions.metafile = true;\n\n\t\t\t// Esbuild already reads the existing source maps, so there's no need to do it again\n\t\t\toptions.detailed = false;\n\n\t\t\tbuild.onEnd( result => {\n\t\t\t\tif ( !result.metafile ) {\n\t\t\t\t\treturn console.error( 'Metafile is required for SondaEsbuildPlugin to work.' );\n\t\t\t\t}\n\n\t\t\t\tconst cwd = process.cwd();\n\t\t\t\tconst inputs = Object\n\t\t\t\t\t.entries( result.metafile.inputs )\n\t\t\t\t\t.reduce( ( acc, [ path, data ] ) => {\n\t\t\t\t\t\tacc[ path ] = {\n\t\t\t\t\t\t\tbytes: data.bytes,\n\t\t\t\t\t\t\tformat: data.format ?? 'unknown',\n\t\t\t\t\t\t\timports: data.imports.map( data => data.path ),\n\t\t\t\t\t\t\tbelongsTo: null,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Because esbuild already reads the existing source maps, there may be\n\t\t\t\t\t\t * cases where some report \"outputs\" include \"inputs\" don't exist in the\n\t\t\t\t\t\t * main \"inputs\" object. To avoid this, we parse each esbuild input and\n\t\t\t\t\t\t * add its sources to the \"inputs\" object.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taddSourcesToInputs(\n\t\t\t\t\t\t\tresolve( cwd, path ),\n\t\t\t\t\t\t\tacc\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {} as JsonReport[ 'inputs' ] );\n\n\t\t\t\treturn generateReportFromAssets(\n\t\t\t\t\tObject.keys( result.metafile.outputs ).map( path => resolve( cwd, path ) ),\n\t\t\t\t\tinputs,\n\t\t\t\t\toptions\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\t};\n}\n","import { join, resolve, dirname } from 'path';\nimport { normalizePath, cjsRegex, jsRegexp } from '../utils.js';\nimport { generateReportFromAssets } from '../report/generate.js';\nimport type { Options, ModuleFormat, JsonReport } from '../types.js';\nimport type { Plugin, ModuleInfo, NormalizedOutputOptions, OutputBundle } from 'rollup';\n\nexport function SondaRollupPlugin( options: Partial<Options> = {} ): Plugin {\n\tlet inputs: JsonReport[ 'inputs' ] = {};\n\n\treturn {\n\t\tname: 'sonda',\n\n\t\twriteBundle(\n\t\t\t{ dir, file }: NormalizedOutputOptions,\n\t\t\tbundle: OutputBundle\n\t\t) {\n\t\t\tconst outputDir = resolve( process.cwd(), dir ?? dirname( file! ) );\n\t\t\tconst assets = Object.keys( bundle ).map( name => join( outputDir, name ) );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tassets,\n\t\t\t\tinputs,\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\n\t\tmoduleParsed( module: ModuleInfo ) {\n\t\t\tinputs[ normalizePath( module.id ) ] = {\n\t\t\t\tbytes: module.code ? Buffer.byteLength( module.code ) : 0,\n\t\t\t\tformat: getFormat( module.id, module.meta.commonjs?.isCommonJS ),\n\t\t\t\timports: module.importedIds.map( id => normalizePath( id ) ),\n\t\t\t\tbelongsTo: null,\n\t\t\t};\n\t\t}\n\t};\n}\n\nfunction getFormat( moduleId: string, isCommonJS: boolean | undefined ): ModuleFormat {\n\tif ( isCommonJS === true || cjsRegex.test( moduleId ) ) {\n\t\treturn 'cjs';\n\t}\n\n\tif ( isCommonJS === false || jsRegexp.test( moduleId ) ) {\n\t\treturn 'esm';\n\t}\n\n\treturn'unknown';\n}\n","import { join } from 'path';\nimport { normalizePath, jsRegexp } from '../utils';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Compiler, StatsModule } from 'webpack';\nimport type { Options, ModuleFormat, JsonReport } from '../types';\n\nexport class SondaWebpackPlugin {\n\toptions: Partial<Options>;\n\n\tconstructor ( options: Partial<Options> = {} ) {\n\t\tthis.options = options;\n\t}\n\n\tapply( compiler: Compiler ): void {\n\t\tcompiler.options.output.devtoolModuleFilenameTemplate = '[absolute-resource-path]';\n\n\t\tcompiler.hooks.afterEmit.tapPromise( 'SondaWebpackPlugin', compilation => {\n\t\t\tconst inputs: JsonReport[ 'inputs' ] = {};\n\t\t\tconst stats = compilation.getStats().toJson( {\n\t\t\t\tmodules: true,\n\t\t\t\tprovidedExports: true,\n\t\t\t} );\n\n\t\t\tconst outputPath = stats.outputPath || compiler.outputPath;\n\t\t\tconst modules: Array<StatsModule> = stats.modules\n\t\t\t\t?.flatMap( mod => mod.modules ? [ mod, ...mod.modules ] : mod )\n\t\t\t\t.filter( mod => mod.nameForCondition && !mod.codeGenerated )\n\t\t\t\t.filter( ( mod, index, self ) => self.findIndex( m => m.nameForCondition === mod.nameForCondition ) === index )\n\t\t\t\t|| [];\n\n\t\t\tmodules.forEach( module => {\n\t\t\t\tconst imports = modules.reduce( ( acc, { nameForCondition, issuerName, reasons } ) => {\n\t\t\t\t\tif ( issuerName === module.name || reasons?.some( reason => reason.resolvedModule === module.name ) ) {\n\t\t\t\t\t\tacc.push( normalizePath( nameForCondition! ) );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as Array<string> );\n\n\t\t\t\tinputs[ normalizePath( module.nameForCondition! ) ] = {\n\t\t\t\t\tbytes: module.size || 0,\n\t\t\t\t\tformat: getFormat( module ),\n\t\t\t\t\timports,\n\t\t\t\t\tbelongsTo: null\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tstats.assets?.map( asset => join( outputPath, asset.name ) ) || [],\n\t\t\t\tinputs,\n\t\t\t\tthis.options\n\t\t\t);\n\t\t} );\n\t}\n}\n\nfunction getFormat( module: StatsModule ): ModuleFormat {\n\tif ( !jsRegexp.test( module.nameForCondition! ) ) {\n\t\treturn 'unknown';\n\t}\n\n\t/**\n\t * Sometimes ESM modules have `moduleType` set as `javascript/auto`, so we\n\t * also need to check if the module has exports to determine if it's ESM.\n\t */\n\tif ( module.moduleType === 'javascript/esm' || !!module.providedExports?.length ) {\n\t\treturn 'esm';\n\t}\n\n\treturn 'cjs';\n}\n"],"names":["parseSourceMapInput","str","JSON","parse","replace","sourceMappingRegExp","loadCodeAndMap","codePath","existsSync","code","readFileSync","extractedComment","includes","Array","from","matchAll","at","length","maybeMap","loadMap","map","mapPath","sources","normalizeSourcesPaths","sourcesContent","loadMissingSourcesContent","sourceRoot","sourceMappingURL","startsWith","parseDataUrl","sourceMapFilename","URL","pathname","join","dirname","url","prefix","payload","split","encoding","Buffer","toString","decodeURIComponent","Error","mapDir","source","isAbsolute","resolve","index","cjsRegex","jsRegexp","normalizeOptions","options","defaultOptions","open","format","detailed","gzip","brotli","Object","assign","normalizePath","pathToNormalize","normalized","relativized","relative","process","cwd","replaceAll","win32","sep","posix","mapSourceMap","dirPath","inputs","alreadyRemapped","Set","remapped","remapping","file","ctx","has","add","codeMap","addSourcesToInputs","content","decodedMappings","path","parentPath","filter","forEach","normalizedPath","bytes","byteLength","imports","belongsTo","UNASSIGNED","getBytesPerSource","assetSizes","contributions","getContributions","codeLines","lineIndex","lineCode","mappings","currentColumn","i","mapping","startColumn","endColumn","set","get","slice","sourceIndex","codeSlice","undefined","sourceSizes","Map","contributionsSum","uncompressed","codeSegment","sizes","getSizes","adjustSizes","gzipSync","brotliCompressSync","asset","sums","gzipDelta","brotliDelta","Math","round","generateJsonReport","assets","outputs","endsWith","reduce","carry","data","processAsset","sortObjectKeys","generateHtmlReport","json","__dirname","fileURLToPath","template","stringify","maybeCodeMap","hasCodeAndMap","mapped","decode","outputInputs","result","Boolean","object","keys","sort","key","generateReportFromAssets","userOptions","handler","saveHtml","saveJson","default","report","writeFileSync","SondaEsbuildPlugin","name","setup","build","initialOptions","metafile","onEnd","console","error","entries","acc","SondaRollupPlugin","writeBundle","dir","bundle","outputDir","moduleParsed","module","id","getFormat","meta","commonjs","isCommonJS","importedIds","moduleId","test","SondaWebpackPlugin","apply","compiler","output","devtoolModuleFilenameTemplate","hooks","afterEmit","tapPromise","compilation","stats","getStats","toJson","modules","providedExports","outputPath","flatMap","mod","nameForCondition","codeGenerated","self","findIndex","m","issuerName","reasons","some","reason","resolvedModule","push","size","constructor","moduleType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../load-source-map/dist/index.js","../src/utils.ts","../src/sourcemap/map.ts","../src/sourcemap/bytes.ts","../src/report.ts","../src/report/generate.ts","../src/bundlers/esbuild.ts","../src/bundlers/rollup.ts","../src/bundlers/webpack.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { join, dirname, isAbsolute, resolve } from 'path';\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented in the source maps specification),\n * and parses the string as JSON.\n *\n * https://github.com/mozilla/source-map/blob/3cb92cc3b73bfab27c146bae4ef2bc09dbb4e5ed/lib/util.js#L162-L164\n */ function parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, \"\"));\n}\n/**\n\tsourceMappingURL=data:application/json;charset=utf-8;base64,data\n\tsourceMappingURL=data:application/json;base64,data\n\tsourceMappingURL=data:application/json;uri,data\n\tsourceMappingURL=map-file-comment.css.map\n\tsourceMappingURL=map-file-comment.css.map?query=value\n*/ const sourceMappingRegExp = /[@#]\\s*sourceMappingURL=(\\S+)\\b/g;\nfunction loadCodeAndMap(codePath) {\n if (!existsSync(codePath)) {\n return null;\n }\n const code = readFileSync(codePath, 'utf-8');\n const extractedComment = code.includes('sourceMappingURL') && Array.from(code.matchAll(sourceMappingRegExp)).at(-1);\n if (!extractedComment || !extractedComment.length) {\n return {\n code\n };\n }\n const maybeMap = loadMap(codePath, extractedComment[1]);\n if (!maybeMap) {\n return {\n code\n };\n }\n const { map, mapPath } = maybeMap;\n map.sources = normalizeSourcesPaths(map, mapPath);\n map.sourcesContent = loadMissingSourcesContent(map);\n delete map.sourceRoot;\n return {\n code,\n map\n };\n}\nfunction loadMap(codePath, sourceMappingURL) {\n if (sourceMappingURL.startsWith('data:')) {\n const map = parseDataUrl(sourceMappingURL);\n return {\n map: parseSourceMapInput(map),\n mapPath: codePath\n };\n }\n const sourceMapFilename = new URL(sourceMappingURL, 'file://').pathname;\n const mapPath = join(dirname(codePath), sourceMapFilename);\n if (!existsSync(mapPath)) {\n return null;\n }\n return {\n map: parseSourceMapInput(readFileSync(mapPath, 'utf-8')),\n mapPath\n };\n}\nfunction parseDataUrl(url) {\n const [prefix, payload] = url.split(',');\n const encoding = prefix.split(';').at(-1);\n switch(encoding){\n case 'base64':\n return Buffer.from(payload, 'base64').toString();\n case 'uri':\n return decodeURIComponent(payload);\n default:\n throw new Error('Unsupported source map encoding: ' + encoding);\n }\n}\n/**\n * Normalize the paths of the sources in the source map to be absolute paths.\n */ function normalizeSourcesPaths(map, mapPath) {\n const mapDir = dirname(mapPath);\n return map.sources.map((source)=>{\n if (!source) {\n return source;\n }\n return isAbsolute(source) ? source : resolve(mapDir, map.sourceRoot ?? '.', source);\n });\n}\n/**\n * Loop through the sources and try to load missing `sourcesContent` from the file system.\n */ function loadMissingSourcesContent(map) {\n return map.sources.map((source, index)=>{\n if (map.sourcesContent?.[index]) {\n return map.sourcesContent[index];\n }\n if (source && existsSync(source)) {\n return readFileSync(source, 'utf-8');\n }\n return null;\n });\n}\n\nexport { loadCodeAndMap };\n//# sourceMappingURL=index.js.map\n","import { relative, win32, posix } from 'path';\nimport type { Options } from './types';\n\nexport const esmRegex: RegExp = /\\.m[tj]sx?$/;\nexport const cjsRegex: RegExp = /\\.c[tj]sx?$/;\nexport const jsRegexp: RegExp = /\\.[cm]?[tj]s[x]?$/;\n\nexport function normalizeOptions( options?: Partial<Options> ) {\n\tconst defaultOptions: Options = {\n\t\topen: true,\n\t\tformat: 'html',\n\t\tdetailed: false,\n\t\tsources: false,\n\t\tgzip: false,\n\t\tbrotli: false,\n\t};\n\n\treturn Object.assign( {}, defaultOptions, options ) as Options;\n}\n\nexport function normalizePath( pathToNormalize: string ): string {\n\t// Unicode escape sequences used by Rollup and Vite to identify virtual modules\n\tconst normalized = pathToNormalize.replace( /^\\0/, '' )\n\n\t// Transform absolute paths to relative paths\n\tconst relativized = relative( process.cwd(), normalized );\n\n\t// Ensure paths are POSIX-compliant - https://stackoverflow.com/a/63251716/4617687\n\treturn relativized.replaceAll( win32.sep, posix.sep );\n}\n","import { default as remapping, type DecodedSourceMap, type EncodedSourceMap } from '@ampproject/remapping';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { resolve } from 'path';\nimport { normalizePath } from '../utils';\nimport type { CodeMap, ReportInput } from '../types';\n\nexport function mapSourceMap(\n\tmap: EncodedSourceMap,\n\tdirPath: string,\n\tinputs: Record<string, ReportInput>\n): DecodedSourceMap {\n\tconst alreadyRemapped = new Set<string>();\n\tconst remapped = remapping( map, ( file, ctx ) => {\n\t\tif ( alreadyRemapped.has( file ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\talreadyRemapped.add( file );\n\n\t\tconst codeMap = addSourcesToInputs(\n\t\t\tresolve( dirPath, file ),\n\t\t\tinputs\n\t\t);\n\n\t\tif ( !codeMap ) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.content ??= codeMap.code;\n\n\t\treturn codeMap.map;\n\t}, { decodedMappings: true } );\n\n\treturn remapped as DecodedSourceMap;\n}\n\n/**\n * Loads the source map of a given file and adds its \"sources\" to the given inputs object.\n */\nexport function addSourcesToInputs(\n\tpath: string,\n\tinputs: Record<string, ReportInput>\n): CodeMap | null {\n\tconst codeMap = loadCodeAndMap( path );\n\n\tif ( !codeMap ) {\n\t\treturn null;\n\t}\n\n\tconst parentPath = normalizePath( path );\n\tconst format = inputs[ parentPath ]?.format ?? 'unknown';\n\n\tcodeMap.map?.sources\n\t\t.filter( source => source !== null )\n\t\t.forEach( ( source, index ) => {\n\t\t\tconst normalizedPath = normalizePath( source );\n\n\t\t\tif ( parentPath === normalizedPath ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinputs[ normalizedPath ] = {\n\t\t\t\tbytes: Buffer.byteLength( codeMap.map!.sourcesContent?.[ index ] ?? '' ),\n\t\t\t\tformat,\n\t\t\t\timports: [],\n\t\t\t\tbelongsTo: parentPath\n\t\t\t};\n\t\t} );\n\t\n\treturn codeMap;\n}\n","import { gzipSync, brotliCompressSync } from 'zlib';\nimport type { DecodedSourceMap, SourceMapSegment } from '@ampproject/remapping';\nimport type { Options, Sizes } from '../types';\n\nconst UNASSIGNED = '[unassigned]';\n\nexport function getBytesPerSource(\n\tcode: string,\n\tmap: DecodedSourceMap,\n\tassetSizes: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst contributions = getContributions( map.sources );\n\n\t// Split the code into lines\n\tconst codeLines = code.split( /(?<=\\r?\\n)/ );\n\n\tfor ( let lineIndex = 0; lineIndex < codeLines.length; lineIndex++ ) {\n\t\tconst lineCode = codeLines[ lineIndex ];\n\t\tconst mappings = map.mappings[ lineIndex ] || [];\n\t\tlet currentColumn = 0;\n\n\t\tfor ( let i = 0; i <= mappings.length; i++ ) {\n\t\t\t// 0: generatedColumn\n\t\t\t// 1: sourceIndex\n\t\t\t// 2: originalLine\n\t\t\t// 3: originalColumn\n\t\t\t// 4: nameIndex\n\n\t\t\tconst mapping: SourceMapSegment | undefined = mappings[ i ];\n\t\t\tconst startColumn = mapping?.[ 0 ] ?? lineCode.length;\n\t\t\tconst endColumn = mappings[ i + 1 ]?.[ 0 ] ?? lineCode.length;\n\n\t\t\t// Slice the code from currentColumn to startColumn for unassigned code\n\t\t\tif ( startColumn > currentColumn ) {\n\t\t\t\tcontributions.set( UNASSIGNED, contributions.get( UNASSIGNED ) + lineCode.slice( currentColumn, startColumn ) );\n\t\t\t}\n\n\t\t\tif ( mapping ) {\n\t\t\t\t// Slice the code from startColumn to endColumn for assigned code\n\t\t\t\tconst sourceIndex = mapping?.[ 1 ];\n\t\t\t\tconst codeSlice = lineCode.slice( startColumn, endColumn );\n\t\t\t\tconst source = sourceIndex !== undefined ? map.sources[ sourceIndex ]! : UNASSIGNED;\n\n\t\t\t\tcontributions.set( source, contributions.get( source ) + codeSlice );\n\t\t\t\tcurrentColumn = endColumn;\n\t\t\t} else {\n\t\t\t\tcurrentColumn = startColumn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compute sizes for each source\n\tconst sourceSizes = new Map<string, Sizes>();\n\n\tconst contributionsSum: Sizes = {\n\t\tuncompressed: 0,\n\t\tgzip: 0,\n\t\tbrotli: 0\n\t};\n\n\tfor ( const [ source, codeSegment ] of contributions ) {\n\t\tconst sizes = getSizes( codeSegment, options );\n\n\t\tcontributionsSum.uncompressed += sizes.uncompressed;\n\t\tcontributionsSum.gzip += sizes.gzip;\n\t\tcontributionsSum.brotli += sizes.brotli;\n\n\t\tsourceSizes.set( source, sizes );\n\t}\n\n\treturn adjustSizes( sourceSizes, assetSizes, contributionsSum, options );\n}\n\nexport function getSizes(\n\tcode: string,\n\toptions: Options\n): Sizes {\n\treturn {\n\t\tuncompressed: Buffer.byteLength( code ),\n\t\tgzip: options.gzip ? gzipSync( code ).length : 0,\n\t\tbrotli: options.brotli ? brotliCompressSync( code ).length : 0\n\t};\n}\n\nfunction getContributions( sources: Array<string | null> ): Map<string, string> {\n\tconst contributions = new Map<string, string>();\n\n\t// Populate contributions with sources\n\tsources\n\t\t.filter( source => source !== null )\n\t\t.forEach( source => contributions.set( source, '' ) );\n\n\t// Add entry for the code that is not assigned to any source\n\tcontributions.set( UNASSIGNED, '' );\n\n\treturn contributions;\n}\n\n/**\n * Compression efficiency improves with the size of the file.\n *\n * However, what we have is the compressed size of the entire bundle (`actual`),\n * the sum of all files compressed individually (`sum`) and the compressed\n * size of a given file (`content`). The last value is essentially a “worst-case”\n * scenario, and the actual size of the file in the bundle is likely to be smaller.\n *\n * We use this information to estimate the actual size of the file in the bundle\n * after compression.\n */\nfunction adjustSizes(\n\tsources: Map<string, Sizes>,\n\tasset: Sizes,\n\tsums: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst gzipDelta = options.gzip ? asset.gzip / sums.gzip : 0;\n\tconst brotliDelta = options.brotli ? asset.brotli / sums.brotli : 0;\n\n\tfor ( const [ source, sizes ] of sources ) {\n\t\tsources.set( source, {\n\t\t\tuncompressed: sizes.uncompressed,\n\t\t\tgzip: options.gzip ? Math.round( sizes.gzip * gzipDelta ) : 0,\n\t\t\tbrotli: options.brotli ? Math.round( sizes.brotli * brotliDelta ) : 0\n\t\t} );\n\t}\n\n\treturn sources;\n}\n","import { readFileSync } from 'fs';\nimport { fileURLToPath } from 'url';\nimport { dirname, extname, resolve } from 'path';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { mapSourceMap } from './sourcemap/map.js';\nimport { getBytesPerSource, getSizes } from './sourcemap/bytes.js';\nimport type {\n JsonReport,\n MaybeCodeMap,\n ReportInput,\n ReportOutput,\n CodeMap,\n ReportOutputInput,\n Options\n} from './types.js';\nimport { normalizePath } from './utils.js';\n\nexport function generateJsonReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): JsonReport {\n const acceptedExtensions = [ '.js', '.css' ];\n\n const outputs = assets\n .filter( asset => acceptedExtensions.includes( extname( asset ) ) )\n .reduce( ( carry, asset ) => {\n const data = processAsset( asset, inputs, options );\n\n if ( data ) {\n carry[ normalizePath( asset ) ] = data;\n }\n\n return carry;\n }, {} as Record<string, ReportOutput> );\n\n return {\n inputs: sortObjectKeys( inputs ),\n outputs: sortObjectKeys( outputs )\n };\n}\n\nexport function generateHtmlReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): string {\n const json = generateJsonReport( assets, inputs, options );\n const __dirname = dirname( fileURLToPath( import.meta.url ) );\n const template = readFileSync( resolve( __dirname, './index.html' ), 'utf-8' );\n\n return template.replace( '__REPORT_DATA__', encodeURIComponent( JSON.stringify( json ) ) );\n}\n\nfunction processAsset(\n asset: string,\n inputs: Record<string, ReportInput>,\n options: Options\n): ReportOutput | void {\n const maybeCodeMap = loadCodeAndMap( asset );\n\n if ( !hasCodeAndMap( maybeCodeMap ) ) {\n return;\n }\n\n const { code, map } = maybeCodeMap;\n const mapped = options.detailed\n ? mapSourceMap( map, dirname( asset ), inputs )\n : { ...map, mappings: decode( map.mappings ) };\n\n mapped.sources = mapped.sources.map( source => normalizePath( source! ) );\n\n const assetSizes = getSizes( code, options );\n const bytes = getBytesPerSource( code, mapped, assetSizes, options );\n const outputInputs = Array\n .from( bytes )\n .reduce( ( carry, [ source, sizes ] ) => {\n carry[ normalizePath( source ) ] = sizes;\n\n return carry;\n }, {} as Record<string, ReportOutputInput> );\n\n return {\n ...assetSizes,\n inputs: sortObjectKeys( outputInputs ),\n map: options.sources ? {\n version: 3,\n names: [],\n mappings: mapped.mappings,\n sources: mapped.sources,\n sourcesContent: mapped.sourcesContent,\n } : undefined\n };\n}\n\nfunction hasCodeAndMap( result: MaybeCodeMap ): result is Required<CodeMap> {\n return Boolean( result && result.code && result.map );\n}\n\nfunction sortObjectKeys<T extends unknown>( object: Record<string, T> ): Record<string, T> {\n return Object\n .keys( object )\n .sort()\n .reduce( ( carry, key ) => {\n carry[ key ] = object[ key ];\n\n return carry;\n }, {} as Record<string, T> );\n} \n","import { join } from 'path';\nimport { writeFileSync } from 'fs';\nimport { generateHtmlReport, generateJsonReport } from '../report.js';\nimport type { Options, JsonReport } from '../types.js';\nimport { normalizeOptions } from '../utils.js';\n\nexport async function generateReportFromAssets(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\tuserOptions: Partial<Options>\n): Promise<void> {\n\tconst options = normalizeOptions( userOptions );\n\tconst handler = options.format === 'html' ? saveHtml : saveJson;\n\tconst path = handler( assets, inputs, options );\n\n\tif ( !options.open || !path ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * `open` is ESM-only package, so we need to import it\n\t * dynamically to make it work in CommonJS environment.\n\t */\n\tconst { default: open } = await import( 'open' );\n\n\topen( path );\n}\n\nfunction saveHtml(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateHtmlReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.html' );\n\n\twriteFileSync( path, report );\n\n\treturn path;\n}\n\nfunction saveJson(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateJsonReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.json' );\n\n\twriteFileSync( path, JSON.stringify( report, null, 2 ) );\n\n\treturn path;\n}\n","import { resolve } from 'path';\nimport { addSourcesToInputs } from '../sourcemap/map';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Plugin } from 'esbuild';\nimport type { Options, JsonReport } from '../types';\n\nexport function SondaEsbuildPlugin( options: Partial<Options> = {} ): Plugin {\n\treturn {\n\t\tname: 'sonda',\n\t\tsetup( build ) {\n\t\t\tbuild.initialOptions.metafile = true;\n\n\t\t\t// Esbuild already reads the existing source maps, so there's no need to do it again\n\t\t\toptions.detailed = false;\n\n\t\t\tbuild.onEnd( result => {\n\t\t\t\tif ( !result.metafile ) {\n\t\t\t\t\treturn console.error( 'Metafile is required for SondaEsbuildPlugin to work.' );\n\t\t\t\t}\n\n\t\t\t\tconst cwd = process.cwd();\n\t\t\t\tconst inputs = Object\n\t\t\t\t\t.entries( result.metafile.inputs )\n\t\t\t\t\t.reduce( ( acc, [ path, data ] ) => {\n\t\t\t\t\t\tacc[ path ] = {\n\t\t\t\t\t\t\tbytes: data.bytes,\n\t\t\t\t\t\t\tformat: data.format ?? 'unknown',\n\t\t\t\t\t\t\timports: data.imports.map( data => data.path ),\n\t\t\t\t\t\t\tbelongsTo: null,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Because esbuild already reads the existing source maps, there may be\n\t\t\t\t\t\t * cases where some report \"outputs\" include \"inputs\" don't exist in the\n\t\t\t\t\t\t * main \"inputs\" object. To avoid this, we parse each esbuild input and\n\t\t\t\t\t\t * add its sources to the \"inputs\" object.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taddSourcesToInputs(\n\t\t\t\t\t\t\tresolve( cwd, path ),\n\t\t\t\t\t\t\tacc\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {} as JsonReport[ 'inputs' ] );\n\n\t\t\t\treturn generateReportFromAssets(\n\t\t\t\t\tObject.keys( result.metafile.outputs ).map( path => resolve( cwd, path ) ),\n\t\t\t\t\tinputs,\n\t\t\t\t\toptions\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\t};\n}\n","import { join, resolve, dirname } from 'path';\nimport { normalizePath, cjsRegex, jsRegexp } from '../utils.js';\nimport { generateReportFromAssets } from '../report/generate.js';\nimport type { Options, ModuleFormat, JsonReport } from '../types.js';\nimport type { Plugin, ModuleInfo, NormalizedOutputOptions, OutputBundle } from 'rollup';\n\nexport function SondaRollupPlugin( options: Partial<Options> = {} ): Plugin {\n\tlet inputs: JsonReport[ 'inputs' ] = {};\n\n\treturn {\n\t\tname: 'sonda',\n\n\t\twriteBundle(\n\t\t\t{ dir, file }: NormalizedOutputOptions,\n\t\t\tbundle: OutputBundle\n\t\t) {\n\t\t\tconst outputDir = resolve( process.cwd(), dir ?? dirname( file! ) );\n\t\t\tconst assets = Object.keys( bundle ).map( name => join( outputDir, name ) );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tassets,\n\t\t\t\tinputs,\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\n\t\tmoduleParsed( module: ModuleInfo ) {\n\t\t\tinputs[ normalizePath( module.id ) ] = {\n\t\t\t\tbytes: module.code ? Buffer.byteLength( module.code ) : 0,\n\t\t\t\tformat: getFormat( module.id, module.meta.commonjs?.isCommonJS ),\n\t\t\t\timports: module.importedIds.map( id => normalizePath( id ) ),\n\t\t\t\tbelongsTo: null,\n\t\t\t};\n\t\t}\n\t};\n}\n\nfunction getFormat( moduleId: string, isCommonJS: boolean | undefined ): ModuleFormat {\n\tif ( isCommonJS === true || cjsRegex.test( moduleId ) ) {\n\t\treturn 'cjs';\n\t}\n\n\tif ( isCommonJS === false || jsRegexp.test( moduleId ) ) {\n\t\treturn 'esm';\n\t}\n\n\treturn'unknown';\n}\n","import { join } from 'path';\nimport { normalizePath, jsRegexp } from '../utils';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Compiler, StatsModule } from 'webpack';\nimport type { Options, ModuleFormat, JsonReport } from '../types';\n\nexport class SondaWebpackPlugin {\n\toptions: Partial<Options>;\n\n\tconstructor ( options: Partial<Options> = {} ) {\n\t\tthis.options = options;\n\t}\n\n\tapply( compiler: Compiler ): void {\n\t\tcompiler.options.output.devtoolModuleFilenameTemplate = '[absolute-resource-path]';\n\n\t\tcompiler.hooks.afterEmit.tapPromise( 'SondaWebpackPlugin', compilation => {\n\t\t\tconst inputs: JsonReport[ 'inputs' ] = {};\n\t\t\tconst stats = compilation.getStats().toJson( {\n\t\t\t\tmodules: true,\n\t\t\t\tprovidedExports: true,\n\t\t\t} );\n\n\t\t\tconst outputPath = stats.outputPath || compiler.outputPath;\n\t\t\tconst modules: Array<StatsModule> = stats.modules\n\t\t\t\t?.flatMap( mod => mod.modules ? [ mod, ...mod.modules ] : mod )\n\t\t\t\t.filter( mod => mod.nameForCondition && !mod.codeGenerated )\n\t\t\t\t.filter( ( mod, index, self ) => self.findIndex( m => m.nameForCondition === mod.nameForCondition ) === index )\n\t\t\t\t|| [];\n\n\t\t\tmodules.forEach( module => {\n\t\t\t\tconst imports = modules.reduce( ( acc, { nameForCondition, issuerName, reasons } ) => {\n\t\t\t\t\tif ( issuerName === module.name || reasons?.some( reason => reason.resolvedModule === module.name ) ) {\n\t\t\t\t\t\tacc.push( normalizePath( nameForCondition! ) );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as Array<string> );\n\n\t\t\t\tinputs[ normalizePath( module.nameForCondition! ) ] = {\n\t\t\t\t\tbytes: module.size || 0,\n\t\t\t\t\tformat: getFormat( module ),\n\t\t\t\t\timports,\n\t\t\t\t\tbelongsTo: null\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tstats.assets?.map( asset => join( outputPath, asset.name ) ) || [],\n\t\t\t\tinputs,\n\t\t\t\tthis.options\n\t\t\t);\n\t\t} );\n\t}\n}\n\nfunction getFormat( module: StatsModule ): ModuleFormat {\n\tif ( !jsRegexp.test( module.nameForCondition! ) ) {\n\t\treturn 'unknown';\n\t}\n\n\t/**\n\t * Sometimes ESM modules have `moduleType` set as `javascript/auto`, so we\n\t * also need to check if the module has exports to determine if it's ESM.\n\t */\n\tif ( module.moduleType === 'javascript/esm' || !!module.providedExports?.length ) {\n\t\treturn 'esm';\n\t}\n\n\treturn 'cjs';\n}\n"],"names":["parseSourceMapInput","str","JSON","parse","replace","sourceMappingRegExp","loadCodeAndMap","codePath","existsSync","code","readFileSync","extractedComment","includes","Array","from","matchAll","at","length","maybeMap","loadMap","map","mapPath","sources","normalizeSourcesPaths","sourcesContent","loadMissingSourcesContent","sourceRoot","sourceMappingURL","startsWith","parseDataUrl","sourceMapFilename","URL","pathname","join","dirname","url","prefix","payload","split","encoding","Buffer","toString","decodeURIComponent","Error","mapDir","source","isAbsolute","resolve","index","cjsRegex","jsRegexp","normalizeOptions","options","defaultOptions","open","format","detailed","gzip","brotli","Object","assign","normalizePath","pathToNormalize","normalized","relativized","relative","process","cwd","replaceAll","win32","sep","posix","mapSourceMap","dirPath","inputs","alreadyRemapped","Set","remapped","remapping","file","ctx","has","add","codeMap","addSourcesToInputs","content","decodedMappings","path","parentPath","filter","forEach","normalizedPath","bytes","byteLength","imports","belongsTo","UNASSIGNED","getBytesPerSource","assetSizes","contributions","getContributions","codeLines","lineIndex","lineCode","mappings","currentColumn","i","mapping","startColumn","endColumn","set","get","slice","sourceIndex","codeSlice","undefined","sourceSizes","Map","contributionsSum","uncompressed","codeSegment","sizes","getSizes","adjustSizes","gzipSync","brotliCompressSync","asset","sums","gzipDelta","brotliDelta","Math","round","generateJsonReport","assets","acceptedExtensions","outputs","extname","reduce","carry","data","processAsset","sortObjectKeys","generateHtmlReport","json","__dirname","fileURLToPath","template","encodeURIComponent","stringify","maybeCodeMap","hasCodeAndMap","mapped","decode","outputInputs","version","names","result","Boolean","object","keys","sort","key","generateReportFromAssets","userOptions","handler","saveHtml","saveJson","default","report","writeFileSync","SondaEsbuildPlugin","name","setup","build","initialOptions","metafile","onEnd","console","error","entries","acc","SondaRollupPlugin","writeBundle","dir","bundle","outputDir","moduleParsed","module","id","getFormat","meta","commonjs","isCommonJS","importedIds","moduleId","test","SondaWebpackPlugin","apply","compiler","output","devtoolModuleFilenameTemplate","hooks","afterEmit","tapPromise","compilation","stats","getStats","toJson","modules","providedExports","outputPath","flatMap","mod","nameForCondition","codeGenerated","self","findIndex","m","issuerName","reasons","some","reason","resolvedModule","push","size","constructor","moduleType"],"mappings":";;;;;;;;;;AAqBA;;;;;IAMA,SAASA,mBAAAA,CAAqBC,GAAW,EAAA;IACxC,OAAOC,IAAAA,CAAKC,KAAK,CAAEF,GAAIG,CAAAA,OAAO,CAAE,gBAAkB,EAAA,EAAA,CAAA,CAAA;AACnD;AAEA;;;;;;AAMA,GACA,MAAMC,mBAAsB,GAAA,kCAAA;AAErB,SAASC,cAAAA,CAAgBC,QAAgB,EAAA;AAC/C,IAAA,IAAK,CAACC,aAAAA,CAAYD,QAAa,CAAA,EAAA;AAC9B,QAAA,OAAO,IAAA;AACR;AAEA,IAAA,MAAME,IAAAA,GAAOC,eAAAA,CAAcH,QAAU,EAAA,OAAA,CAAA;IAErC,MAAMI,gBAAmBF,GAAAA,IAAAA,CAAKG,QAAQ,CAAE,kBAAA,CAAA,IAAwBC,KAAMC,CAAAA,IAAI,CAAEL,IAAAA,CAAKM,QAAQ,CAAEV,mBAAwBW,CAAAA,CAAAA,CAAAA,EAAE,CAAE,CAAC,CAAA,CAAA;AAExH,IAAA,IAAK,CAACL,gBAAAA,IAAoB,CAACA,gBAAAA,CAAiBM,MAAM,EAAG;QACpD,OAAO;AAAER,YAAAA;SAAK;AACf;IAEA,MAAMS,QAAWC,GAAAA,OAAAA,CAASZ,QAAUI,EAAAA,gBAAgB,CAAE,CAAG,CAAA,CAAA;IAEzD,IAAK,CAACO,QAAW,EAAA;QAChB,OAAO;AAAET,YAAAA;SAAK;AACf;AAEA,IAAA,MAAM,EAAEW,GAAG,EAAEC,OAAO,EAAE,GAAGH,QAAAA;IAEzBE,GAAIE,CAAAA,OAAO,GAAGC,qBAAAA,CAAuBH,GAAKC,EAAAA,OAAAA,CAAAA;AAC1CD,IAAAA,GAAII,CAAAA,cAAc,GAAGC,yBAA2BL,CAAAA,GAAAA,CAAAA;AAEhD,IAAA,OAAOA,IAAIM,UAAU;IAErB,OAAO;QACNjB,IAAAA;AACAW,QAAAA;KACD;AACD;AAEA,SAASD,OAAAA,CAASZ,QAAgB,EAAEoB,gBAAwB,EAAA;AAC3D,IAAA,IAAKA,gBAAAA,CAAiBC,UAAU,CAAE,OAAY,CAAA,EAAA;AAC7C,QAAA,MAAMR,GAAMS,GAAAA,YAAcF,CAAAA,gBAAAA,CAAAA;QAE1B,OAAO;AACNP,YAAAA,GAAAA,EAAKpB,mBAAqBoB,CAAAA,GAAAA,CAAAA;AAC1BC,YAAAA,OAASd,EAAAA;SACV;AACD;IAEA,MAAMuB,iBAAoB,GAAA,IAAIC,GAAKJ,CAAAA,gBAAAA,EAAkB,WAAYK,QAAQ;IACzE,MAAMX,OAAAA,GAAUY,SAAMC,CAAAA,YAAAA,CAAS3B,QAAYuB,CAAAA,EAAAA,iBAAAA,CAAAA;AAE3C,IAAA,IAAK,CAACtB,aAAAA,CAAYa,OAAY,CAAA,EAAA;AAC7B,QAAA,OAAO,IAAA;AACR;IAEA,OAAO;QACND,GAAKpB,EAAAA,mBAAAA,CAAqBU,eAAAA,CAAcW,OAAS,EAAA,OAAA,CAAA,CAAA;AACjDA,QAAAA;KACD;AACD;AAEA,SAASQ,YAAAA,CAAcM,GAAW,EAAA;IACjC,MAAM,CAAEC,MAAQC,EAAAA,OAAAA,CAAS,GAAGF,GAAAA,CAAIG,KAAK,CAAE,GAAA,CAAA;AACvC,IAAA,MAAMC,QAAWH,GAAAA,MAAOE,CAAAA,KAAK,CAAE,GAAMtB,CAAAA,CAAAA,EAAE,CAAE,CAAC,CAAA,CAAA;AAE1C,IAAA,OAASuB,QAAAA;AACR,QAAA,KAAK,QAAA;YACJ,OAAOC,MAAO1B,CAAAA,IAAI,CAAEuB,OAAAA,EAAS,QAAA,CAAA,CAAWI,QAAQ,EAAA;AACjD,QAAA,KAAK,KAAA;YACJ,OAAOC,kBAAoBL,CAAAA,OAAAA,CAAAA;AAC5B,QAAA;AACC,YAAA,MAAM,IAAIM,KAAAA,CAAO,mCAAsCJ,GAAAA,QAAAA,CAAAA;AACzD;AACD;AAEA;;AAEC,IACD,SAAShB,qBAAAA,CAAuBH,GAAgB,EAAEC,OAAe,EAAA;AAChE,IAAA,MAAMuB,MAASV,GAAAA,YAASb,CAAAA,OAAAA,CAAAA;IAExB,OAAOD,GAAIE,CAAAA,OAAO,CAACF,GAAG,CAAEyB,CAAAA,MAAAA,GAAAA;QACvB,IAAK,CAACA,MAAS,EAAA;AACd,YAAA,OAAOA,MAAAA;AACR;AAEA,QAAA,OAAOC,eAAAA,CAAYD,MAChBA,CAAAA,GAAAA,MACAE,GAAAA,YAAAA,CAASH,MAAQxB,EAAAA,GAAIM,CAAAA,UAAU,IAAI,GAAKmB,EAAAA,MAAAA,CAAAA;AAC5C,KAAA,CAAA;AACD;AAEA;;IAGA,SAASpB,yBAAAA,CAA2BL,GAAgB,EAAA;IACnD,OAAOA,GAAAA,CAAIE,OAAO,CAACF,GAAG,CAAE,CAAEyB,MAAQG,EAAAA,KAAAA,GAAAA;AACjC,QAAA,IAAK5B,GAAII,CAAAA,cAAc,GAAIwB,MAAO,EAAG;AACpC,YAAA,OAAO5B,GAAAA,CAAII,cAAc,CAAEwB,KAAO,CAAA;AACnC;AAEA,QAAA,IAAKH,MAAAA,IAAUrC,aAAYqC,CAAAA,MAAW,CAAA,EAAA;AACrC,YAAA,OAAOnC,eAAcmC,CAAAA,MAAQ,EAAA,OAAA,CAAA;AAC9B;AAEA,QAAA,OAAO,IAAA;AACR,KAAA,CAAA;AACD;;ACzIO,MAAMI,WAAmB,aAAc;AACvC,MAAMC,WAAmB,mBAAoB;AAE7C,SAASC,iBAAkBC,OAA0B,EAAA;AAC3D,IAAA,MAAMC,cAA0B,GAAA;QAC/BC,IAAM,EAAA,IAAA;QACNC,MAAQ,EAAA,MAAA;QACRC,QAAU,EAAA,KAAA;QACVlC,OAAS,EAAA,KAAA;QACTmC,IAAM,EAAA,KAAA;QACNC,MAAQ,EAAA;AACT,KAAA;AAEA,IAAA,OAAOC,MAAOC,CAAAA,MAAM,CAAE,IAAIP,cAAgBD,EAAAA,OAAAA,CAAAA;AAC3C;AAEO,SAASS,cAAeC,eAAuB,EAAA;;AAErD,IAAA,MAAMC,UAAaD,GAAAA,eAAAA,CAAgB1D,OAAO,CAAE,KAAO,EAAA,EAAA,CAAA;;AAGnD,IAAA,MAAM4D,WAAcC,GAAAA,aAAAA,CAAUC,OAAQC,CAAAA,GAAG,EAAIJ,EAAAA,UAAAA,CAAAA;;AAG7C,IAAA,OAAOC,YAAYI,UAAU,CAAEC,WAAMC,GAAG,EAAEC,WAAMD,GAAG,CAAA;AACpD;;ACvBO,SAASE,YACfpD,CAAAA,GAAqB,EACrBqD,OAAe,EACfC,MAAmC,EAAA;AAEnC,IAAA,MAAMC,kBAAkB,IAAIC,GAAAA,EAAAA;AAC5B,IAAA,MAAMC,QAAWC,GAAAA,SAAAA,CAAW1D,GAAK,EAAA,CAAE2D,IAAMC,EAAAA,GAAAA,GAAAA;AAgBxCA,QAAAA,IAAAA,IAAAA;QAfA,IAAKL,eAAAA,CAAgBM,GAAG,CAAEF,IAAS,CAAA,EAAA;AAClC,YAAA;AACD;AAEAJ,QAAAA,eAAAA,CAAgBO,GAAG,CAAEH,IAAAA,CAAAA;AAErB,QAAA,MAAMI,OAAUC,GAAAA,kBAAAA,CACfrC,YAAS0B,CAAAA,OAAAA,EAASM,IAClBL,CAAAA,EAAAA,MAAAA,CAAAA;AAGD,QAAA,IAAK,CAACS,OAAU,EAAA;AACf,YAAA;AACD;AAEAH,QAAAA,CAAAA,OAAAA,GAAIK,EAAAA,OAAAA,KAAJL,IAAIK,CAAAA,OAAAA,GAAYF,QAAQ1E,IAAI,CAAA;AAE5B,QAAA,OAAO0E,QAAQ/D,GAAG;KAChB,EAAA;QAAEkE,eAAiB,EAAA;AAAK,KAAA,CAAA;IAE3B,OAAOT,QAAAA;AACR;AAEA;;AAEC,IACM,SAASO,kBACfG,CAAAA,IAAY,EACZb,MAAmC,EAAA;AAEnC,IAAA,MAAMS,UAAU7E,cAAgBiF,CAAAA,IAAAA,CAAAA;AAEhC,IAAA,IAAK,CAACJ,OAAU,EAAA;QACf,OAAO,IAAA;AACR;AAEA,IAAA,MAAMK,aAAa3B,aAAe0B,CAAAA,IAAAA,CAAAA;AAClC,IAAA,MAAMhC,MAASmB,GAAAA,MAAM,CAAEc,UAAAA,CAAY,EAAEjC,MAAU,IAAA,SAAA;IAE/C4B,OAAQ/D,CAAAA,GAAG,EAAEE,OAAAA,CACXmE,MAAQ5C,CAAAA,CAAAA,SAAUA,MAAW,KAAA,IAAA,CAAA,CAC7B6C,OAAS,CAAA,CAAE7C,MAAQG,EAAAA,KAAAA,GAAAA;AACnB,QAAA,MAAM2C,iBAAiB9B,aAAehB,CAAAA,MAAAA,CAAAA;AAEtC,QAAA,IAAK2C,eAAeG,cAAiB,EAAA;AACpC,YAAA;AACD;QAEAjB,MAAM,CAAEiB,eAAgB,GAAG;YAC1BC,KAAOpD,EAAAA,MAAAA,CAAOqD,UAAU,CAAEV,OAAQ/D,CAAAA,GAAG,CAAEI,cAAc,GAAIwB,KAAAA,CAAO,IAAI,EAAA,CAAA;AACpEO,YAAAA,MAAAA;AACAuC,YAAAA,OAAAA,EAAS,EAAE;YACXC,SAAWP,EAAAA;AACZ,SAAA;AACD,KAAA,CAAA;IAED,OAAOL,OAAAA;AACR;;AClEA,MAAMa,UAAa,GAAA,cAAA;AAEZ,SAASC,kBACfxF,IAAY,EACZW,GAAqB,EACrB8E,UAAiB,EACjB9C,OAAgB,EAAA;IAEhB,MAAM+C,aAAAA,GAAgBC,gBAAkBhF,CAAAA,GAAAA,CAAIE,OAAO,CAAA;;IAGnD,MAAM+E,SAAAA,GAAY5F,IAAK6B,CAAAA,KAAK,CAAE,MAAA,CAAA,cAAA,CAAA,CAAA;AAE9B,IAAA,IAAM,IAAIgE,SAAY,GAAA,CAAA,EAAGA,YAAYD,SAAUpF,CAAAA,MAAM,EAAEqF,SAAc,EAAA,CAAA;QACpE,MAAMC,QAAAA,GAAWF,SAAS,CAAEC,SAAW,CAAA;AACvC,QAAA,MAAME,WAAWpF,GAAIoF,CAAAA,QAAQ,CAAEF,SAAAA,CAAW,IAAI,EAAE;AAChD,QAAA,IAAIG,aAAgB,GAAA,CAAA;AAEpB,QAAA,IAAM,IAAIC,CAAI,GAAA,CAAA,EAAGA,KAAKF,QAASvF,CAAAA,MAAM,EAAEyF,CAAM,EAAA,CAAA;;;;;;YAO5C,MAAMC,OAAAA,GAAwCH,QAAQ,CAAEE,CAAG,CAAA;AAC3D,YAAA,MAAME,cAAcD,OAAS,GAAE,CAAG,CAAA,IAAIJ,SAAStF,MAAM;YACrD,MAAM4F,SAAAA,GAAYL,QAAQ,CAAEE,CAAI,GAAA,CAAA,CAAG,GAAI,CAAA,CAAG,IAAIH,QAAAA,CAAStF,MAAM;;AAG7D,YAAA,IAAK2F,cAAcH,aAAgB,EAAA;gBAClCN,aAAcW,CAAAA,GAAG,CAAEd,UAAAA,EAAYG,aAAcY,CAAAA,GAAG,CAAEf,UAAeO,CAAAA,GAAAA,QAAAA,CAASS,KAAK,CAAEP,aAAeG,EAAAA,WAAAA,CAAAA,CAAAA;AACjG;AAEA,YAAA,IAAKD,OAAU,EAAA;;gBAEd,MAAMM,WAAAA,GAAcN,OAAS,GAAE,CAAG,CAAA;AAClC,gBAAA,MAAMO,SAAYX,GAAAA,QAAAA,CAASS,KAAK,CAAEJ,WAAaC,EAAAA,SAAAA,CAAAA;AAC/C,gBAAA,MAAMhE,SAASoE,WAAgBE,KAAAA,SAAAA,GAAY/F,IAAIE,OAAO,CAAE2F,YAAa,GAAIjB,UAAAA;AAEzEG,gBAAAA,aAAAA,CAAcW,GAAG,CAAEjE,MAAAA,EAAQsD,aAAcY,CAAAA,GAAG,CAAElE,MAAWqE,CAAAA,GAAAA,SAAAA,CAAAA;gBACzDT,aAAgBI,GAAAA,SAAAA;aACV,MAAA;gBACNJ,aAAgBG,GAAAA,WAAAA;AACjB;AACD;AACD;;AAGA,IAAA,MAAMQ,cAAc,IAAIC,GAAAA,EAAAA;AAExB,IAAA,MAAMC,gBAA0B,GAAA;QAC/BC,YAAc,EAAA,CAAA;QACd9D,IAAM,EAAA,CAAA;QACNC,MAAQ,EAAA;AACT,KAAA;AAEA,IAAA,KAAM,MAAM,CAAEb,MAAQ2E,EAAAA,WAAAA,CAAa,IAAIrB,aAAgB,CAAA;QACtD,MAAMsB,KAAAA,GAAQC,SAAUF,WAAapE,EAAAA,OAAAA,CAAAA;QAErCkE,gBAAiBC,CAAAA,YAAY,IAAIE,KAAAA,CAAMF,YAAY;QACnDD,gBAAiB7D,CAAAA,IAAI,IAAIgE,KAAAA,CAAMhE,IAAI;QACnC6D,gBAAiB5D,CAAAA,MAAM,IAAI+D,KAAAA,CAAM/D,MAAM;QAEvC0D,WAAYN,CAAAA,GAAG,CAAEjE,MAAQ4E,EAAAA,KAAAA,CAAAA;AAC1B;IAEA,OAAOE,WAAAA,CAAaP,WAAalB,EAAAA,UAAAA,EAAYoB,gBAAkBlE,EAAAA,OAAAA,CAAAA;AAChE;AAEO,SAASsE,QAAAA,CACfjH,IAAY,EACZ2C,OAAgB,EAAA;IAEhB,OAAO;QACNmE,YAAc/E,EAAAA,MAAAA,CAAOqD,UAAU,CAAEpF,IAAAA,CAAAA;AACjCgD,QAAAA,IAAAA,EAAML,QAAQK,IAAI,GAAGmE,aAAUnH,CAAAA,IAAAA,CAAAA,CAAOQ,MAAM,GAAG,CAAA;AAC/CyC,QAAAA,MAAAA,EAAQN,QAAQM,MAAM,GAAGmE,uBAAoBpH,CAAAA,IAAAA,CAAAA,CAAOQ,MAAM,GAAG;AAC9D,KAAA;AACD;AAEA,SAASmF,iBAAkB9E,OAA6B,EAAA;AACvD,IAAA,MAAM6E,gBAAgB,IAAIkB,GAAAA,EAAAA;;AAG1B/F,IAAAA,OAAAA,CACEmE,MAAM,CAAE5C,CAAAA,MAAAA,GAAUA,MAAW,KAAA,IAAA,CAAA,CAC7B6C,OAAO,CAAE7C,CAAAA,MAAAA,GAAUsD,aAAcW,CAAAA,GAAG,CAAEjE,MAAQ,EAAA,EAAA,CAAA,CAAA;;IAGhDsD,aAAcW,CAAAA,GAAG,CAAEd,UAAY,EAAA,EAAA,CAAA;IAE/B,OAAOG,aAAAA;AACR;AAEA;;;;;;;;;;IAWA,SAASwB,YACRrG,OAA2B,EAC3BwG,KAAY,EACZC,IAAW,EACX3E,OAAgB,EAAA;IAEhB,MAAM4E,SAAAA,GAAY5E,QAAQK,IAAI,GAAGqE,MAAMrE,IAAI,GAAGsE,IAAKtE,CAAAA,IAAI,GAAG,CAAA;IAC1D,MAAMwE,WAAAA,GAAc7E,QAAQM,MAAM,GAAGoE,MAAMpE,MAAM,GAAGqE,IAAKrE,CAAAA,MAAM,GAAG,CAAA;AAElE,IAAA,KAAM,MAAM,CAAEb,MAAQ4E,EAAAA,KAAAA,CAAO,IAAInG,OAAU,CAAA;QAC1CA,OAAQwF,CAAAA,GAAG,CAAEjE,MAAQ,EAAA;AACpB0E,YAAAA,YAAAA,EAAcE,MAAMF,YAAY;YAChC9D,IAAML,EAAAA,OAAAA,CAAQK,IAAI,GAAGyE,IAAAA,CAAKC,KAAK,CAAEV,KAAAA,CAAMhE,IAAI,GAAGuE,SAAc,CAAA,GAAA,CAAA;YAC5DtE,MAAQN,EAAAA,OAAAA,CAAQM,MAAM,GAAGwE,IAAAA,CAAKC,KAAK,CAAEV,KAAAA,CAAM/D,MAAM,GAAGuE,WAAgB,CAAA,GAAA;AACrE,SAAA,CAAA;AACD;IAEA,OAAO3G,OAAAA;AACR;;AC9GO,SAAS8G,kBACdC,CAAAA,MAAqB,EACrB3D,MAAmC,EACnCtB,OAAgB,EAAA;AAEhB,IAAA,MAAMkF,kBAAqB,GAAA;AAAE,QAAA,KAAA;AAAO,QAAA;AAAQ,KAAA;AAE5C,IAAA,MAAMC,OAAUF,GAAAA,MAAAA,CACb5C,MAAM,CAAEqC,CAAAA,KAASQ,GAAAA,kBAAAA,CAAmB1H,QAAQ,CAAE4H,YAASV,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CACvDW,MAAM,CAAE,CAAEC,KAAOZ,EAAAA,KAAAA,GAAAA;QAChB,MAAMa,IAAAA,GAAOC,YAAcd,CAAAA,KAAAA,EAAOpD,MAAQtB,EAAAA,OAAAA,CAAAA;AAE1C,QAAA,IAAKuF,IAAO,EAAA;YACVD,KAAK,CAAE7E,aAAeiE,CAAAA,KAAAA,CAAAA,CAAS,GAAGa,IAAAA;AACpC;QAEA,OAAOD,KAAAA;AACT,KAAA,EAAG,EAAC,CAAA;IAEN,OAAO;AACLhE,QAAAA,MAAAA,EAAQmE,cAAgBnE,CAAAA,MAAAA,CAAAA;AACxB6D,QAAAA,OAAAA,EAASM,cAAgBN,CAAAA,OAAAA;AAC3B,KAAA;AACF;AAEO,SAASO,kBACdT,CAAAA,MAAqB,EACrB3D,MAAmC,EACnCtB,OAAgB,EAAA;IAEhB,MAAM2F,IAAAA,GAAOX,kBAAoBC,CAAAA,MAAAA,EAAQ3D,MAAQtB,EAAAA,OAAAA,CAAAA;AACjD,IAAA,MAAM4F,SAAY9G,GAAAA,YAAAA,CAAS+G,iBAAe,CAAA,2PAAe,CAAA,CAAA;AACzD,IAAA,MAAMC,QAAWxI,GAAAA,eAAAA,CAAcqC,YAASiG,CAAAA,SAAAA,EAAW,cAAkB,CAAA,EAAA,OAAA,CAAA;AAErE,IAAA,OAAOE,SAAS9I,OAAO,CAAE,mBAAmB+I,kBAAoBjJ,CAAAA,IAAAA,CAAKkJ,SAAS,CAAEL,IAAAA,CAAAA,CAAAA,CAAAA;AAClF;AAEA,SAASH,YACPd,CAAAA,KAAa,EACbpD,MAAmC,EACnCtB,OAAgB,EAAA;AAEhB,IAAA,MAAMiG,eAAe/I,cAAgBwH,CAAAA,KAAAA,CAAAA;IAErC,IAAK,CAACwB,cAAeD,YAAiB,CAAA,EAAA;AACpC,QAAA;AACF;AAEA,IAAA,MAAM,EAAE5I,IAAI,EAAEW,GAAG,EAAE,GAAGiI,YAAAA;IACtB,MAAME,MAAAA,GAASnG,QAAQI,QAAQ,GAC3BgB,aAAcpD,GAAKc,EAAAA,YAAAA,CAAS4F,QAASpD,MACrC,CAAA,GAAA;AAAE,QAAA,GAAGtD,GAAG;QAAEoF,QAAUgD,EAAAA,qBAAAA,CAAQpI,IAAIoF,QAAQ;AAAG,KAAA;IAE/C+C,MAAOjI,CAAAA,OAAO,GAAGiI,MAAOjI,CAAAA,OAAO,CAACF,GAAG,CAAEyB,CAAAA,MAAAA,GAAUgB,aAAehB,CAAAA,MAAAA,CAAAA,CAAAA;IAE9D,MAAMqD,UAAAA,GAAawB,SAAUjH,IAAM2C,EAAAA,OAAAA,CAAAA;AACnC,IAAA,MAAMwC,KAAQK,GAAAA,iBAAAA,CAAmBxF,IAAM8I,EAAAA,MAAAA,EAAQrD,UAAY9C,EAAAA,OAAAA,CAAAA;IAC3D,MAAMqG,YAAAA,GAAe5I,KAClBC,CAAAA,IAAI,CAAE8E,KAAAA,CAAAA,CACN6C,MAAM,CAAE,CAAEC,KAAAA,EAAO,CAAE7F,MAAAA,EAAQ4E,KAAO,CAAA,GAAA;QACjCiB,KAAK,CAAE7E,aAAehB,CAAAA,MAAAA,CAAAA,CAAU,GAAG4E,KAAAA;QAEnC,OAAOiB,KAAAA;AACT,KAAA,EAAG,EAAC,CAAA;IAEN,OAAO;AACL,QAAA,GAAGxC,UAAU;AACbxB,QAAAA,MAAAA,EAAQmE,cAAgBY,CAAAA,YAAAA,CAAAA;QACxBrI,GAAKgC,EAAAA,OAAAA,CAAQ9B,OAAO,GAAG;YACrBoI,OAAS,EAAA,CAAA;AACTC,YAAAA,KAAAA,EAAO,EAAE;AACTnD,YAAAA,QAAAA,EAAU+C,OAAO/C,QAAQ;AACzBlF,YAAAA,OAAAA,EAASiI,OAAOjI,OAAO;AACvBE,YAAAA,cAAAA,EAAgB+H,OAAO/H;SACrB2F,GAAAA;AACN,KAAA;AACF;AAEA,SAASmC,cAAeM,MAAoB,EAAA;AAC1C,IAAA,OAAOC,QAASD,MAAUA,IAAAA,MAAAA,CAAOnJ,IAAI,IAAImJ,OAAOxI,GAAG,CAAA;AACrD;AAEA,SAASyH,eAAmCiB,MAAyB,EAAA;IACnE,OAAOnG,MAAAA,CACJoG,IAAI,CAAED,MAAAA,CAAAA,CACNE,IAAI,EACJvB,CAAAA,MAAM,CAAE,CAAEC,KAAOuB,EAAAA,GAAAA,GAAAA;AAChBvB,QAAAA,KAAK,CAAEuB,GAAAA,CAAK,GAAGH,MAAM,CAAEG,GAAK,CAAA;QAE5B,OAAOvB,KAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACR;;ACvGO,eAAewB,wBACrB7B,CAAAA,MAAgB,EAChB3D,MAA8B,EAC9ByF,WAA6B,EAAA;AAE7B,IAAA,MAAM/G,UAAUD,gBAAkBgH,CAAAA,WAAAA,CAAAA;AAClC,IAAA,MAAMC,OAAUhH,GAAAA,OAAAA,CAAQG,MAAM,KAAK,SAAS8G,QAAWC,GAAAA,QAAAA;IACvD,MAAM/E,IAAAA,GAAO6E,OAAS/B,CAAAA,MAAAA,EAAQ3D,MAAQtB,EAAAA,OAAAA,CAAAA;AAEtC,IAAA,IAAK,CAACA,OAAAA,CAAQE,IAAI,IAAI,CAACiC,IAAO,EAAA;AAC7B,QAAA;AACD;AAEA;;;KAIA,MAAM,EAAEgF,OAASjH,EAAAA,IAAI,EAAE,GAAG,MAAM,OAAQ,MAAA,CAAA;IAExCA,IAAMiC,CAAAA,IAAAA,CAAAA;AACP;AAEA,SAAS8E,QACRhC,CAAAA,MAAgB,EAChB3D,MAA8B,EAC9BtB,OAAgB,EAAA;IAEhB,MAAMoH,MAAAA,GAAS1B,kBAAoBT,CAAAA,MAAAA,EAAQ3D,MAAQtB,EAAAA,OAAAA,CAAAA;AACnD,IAAA,MAAMmC,MAAOtD,GAAAA,SAAAA,CAAMiC,OAAQC,CAAAA,GAAG,EAAI,EAAA,mBAAA,CAAA;AAElCsG,IAAAA,gBAAAA,CAAelF,MAAMiF,EAAAA,MAAAA,CAAAA;IAErB,OAAOjF,MAAAA;AACR;AAEA,SAAS+E,QACRjC,CAAAA,MAAgB,EAChB3D,MAA8B,EAC9BtB,OAAgB,EAAA;IAEhB,MAAMoH,MAAAA,GAASpC,kBAAoBC,CAAAA,MAAAA,EAAQ3D,MAAQtB,EAAAA,OAAAA,CAAAA;AACnD,IAAA,MAAMmC,MAAOtD,GAAAA,SAAAA,CAAMiC,OAAQC,CAAAA,GAAG,EAAI,EAAA,mBAAA,CAAA;AAElCsG,IAAAA,gBAAAA,CAAelF,MAAMrF,EAAAA,IAAAA,CAAKkJ,SAAS,CAAEoB,QAAQ,IAAM,EAAA,CAAA,CAAA,CAAA;IAEnD,OAAOjF,MAAAA;AACR;;AC9CO,SAASmF,kBAAAA,CAAoBtH,OAA4B,GAAA,EAAE,EAAA;IACjE,OAAO;QACNuH,IAAM,EAAA,OAAA;AACNC,QAAAA,KAAAA,CAAAA,CAAOC,KAAK,EAAA;YACXA,KAAMC,CAAAA,cAAc,CAACC,QAAQ,GAAG,IAAA;;AAGhC3H,YAAAA,OAAAA,CAAQI,QAAQ,GAAG,KAAA;YAEnBqH,KAAMG,CAAAA,KAAK,CAAEpB,CAAAA,MAAAA,GAAAA;gBACZ,IAAK,CAACA,MAAOmB,CAAAA,QAAQ,EAAG;oBACvB,OAAOE,OAAAA,CAAQC,KAAK,CAAE,sDAAA,CAAA;AACvB;gBAEA,MAAM/G,GAAAA,GAAMD,QAAQC,GAAG,EAAA;AACvB,gBAAA,MAAMO,MAASf,GAAAA,MAAAA,CACbwH,OAAO,CAAEvB,OAAOmB,QAAQ,CAACrG,MAAM,CAAA,CAC/B+D,MAAM,CAAE,CAAE2C,GAAK,EAAA,CAAE7F,QAAMoD,IAAM,CAAA,GAAA;oBAC7ByC,GAAG,CAAE7F,OAAM,GAAG;AACbK,wBAAAA,KAAAA,EAAO+C,KAAK/C,KAAK;wBACjBrC,MAAQoF,EAAAA,IAAAA,CAAKpF,MAAM,IAAI,SAAA;wBACvBuC,OAAS6C,EAAAA,IAAAA,CAAK7C,OAAO,CAAC1E,GAAG,CAAEuH,CAAAA,IAAAA,GAAQA,KAAKpD,IAAI,CAAA;wBAC5CQ,SAAW,EAAA;AACZ,qBAAA;AAEA;;;;;UAMAX,kBAAAA,CACCrC,YAASoB,CAAAA,GAAAA,EAAKoB,MACd6F,CAAAA,EAAAA,GAAAA,CAAAA;oBAGD,OAAOA,GAAAA;AACR,iBAAA,EAAG,EAAC,CAAA;AAEL,gBAAA,OAAOlB,yBACNvG,MAAOoG,CAAAA,IAAI,CAAEH,MAAAA,CAAOmB,QAAQ,CAACxC,OAAO,CAAGnH,CAAAA,GAAG,CAAEmE,CAAAA,MAAAA,GAAQxC,YAASoB,CAAAA,GAAAA,EAAKoB,UAClEb,MACAtB,EAAAA,OAAAA,CAAAA;AAEF,aAAA,CAAA;AACD;AACD,KAAA;AACD;;AC/CO,SAASiI,iBAAAA,CAAmBjI,OAA4B,GAAA,EAAE,EAAA;AAChE,IAAA,IAAIsB,SAAiC,EAAC;IAEtC,OAAO;QACNiG,IAAM,EAAA,OAAA;AAENW,QAAAA,WAAAA,CAAAA,CACC,EAAEC,GAAG,EAAExG,IAAI,EAA2B,EACtCyG,MAAoB,EAAA;AAEpB,YAAA,MAAMC,YAAY1I,YAASmB,CAAAA,OAAAA,CAAQC,GAAG,EAAA,EAAIoH,OAAOrJ,YAAS6C,CAAAA,IAAAA,CAAAA,CAAAA;YAC1D,MAAMsD,MAAAA,GAAS1E,MAAOoG,CAAAA,IAAI,CAAEyB,MAAAA,CAAAA,CAASpK,GAAG,CAAEuJ,CAAAA,IAAQ1I,GAAAA,SAAAA,CAAMwJ,SAAWd,EAAAA,IAAAA,CAAAA,CAAAA;YAEnE,OAAOT,wBAAAA,CACN7B,QACA3D,MACAtB,EAAAA,OAAAA,CAAAA;AAEF,SAAA;AAEAsI,QAAAA,YAAAA,CAAAA,CAAcC,MAAkB,EAAA;AAC/BjH,YAAAA,MAAM,CAAEb,aAAAA,CAAe8H,MAAOC,CAAAA,EAAE,EAAI,GAAG;gBACtChG,KAAO+F,EAAAA,MAAAA,CAAOlL,IAAI,GAAG+B,MAAAA,CAAOqD,UAAU,CAAE8F,MAAAA,CAAOlL,IAAI,CAAK,GAAA,CAAA;gBACxD8C,MAAQsI,EAAAA,WAAAA,CAAWF,OAAOC,EAAE,EAAED,OAAOG,IAAI,CAACC,QAAQ,EAAEC,UAAAA,CAAAA;AACpDlG,gBAAAA,OAAAA,EAAS6F,OAAOM,WAAW,CAAC7K,GAAG,CAAEwK,CAAAA,KAAM/H,aAAe+H,CAAAA,EAAAA,CAAAA,CAAAA;gBACtD7F,SAAW,EAAA;AACZ,aAAA;AACD;AACD,KAAA;AACD;AAEA,SAAS8F,WAAAA,CAAWK,QAAgB,EAAEF,UAA+B,EAAA;AACpE,IAAA,IAAKA,UAAe,KAAA,IAAA,IAAQ/I,QAASkJ,CAAAA,IAAI,CAAED,QAAa,CAAA,EAAA;QACvD,OAAO,KAAA;AACR;AAEA,IAAA,IAAKF,UAAe,KAAA,KAAA,IAAS9I,QAASiJ,CAAAA,IAAI,CAAED,QAAa,CAAA,EAAA;QACxD,OAAO,KAAA;AACR;IAEA,OAAM,SAAA;AACP;;ACzCO,MAAME,kBAAAA,CAAAA;AAOZC,IAAAA,KAAAA,CAAOC,QAAkB,EAAS;AACjCA,QAAAA,QAAAA,CAASlJ,OAAO,CAACmJ,MAAM,CAACC,6BAA6B,GAAG,0BAAA;AAExDF,QAAAA,QAAAA,CAASG,KAAK,CAACC,SAAS,CAACC,UAAU,CAAE,sBAAsBC,CAAAA,WAAAA,GAAAA;AAC1D,YAAA,MAAMlI,SAAiC,EAAC;AACxC,YAAA,MAAMmI,KAAQD,GAAAA,WAAAA,CAAYE,QAAQ,EAAA,CAAGC,MAAM,CAAE;gBAC5CC,OAAS,EAAA,IAAA;gBACTC,eAAiB,EAAA;AAClB,aAAA,CAAA;AAEA,YAAA,MAAMC,UAAaL,GAAAA,KAAAA,CAAMK,UAAU,IAAIZ,SAASY,UAAU;YAC1D,MAAMF,OAAAA,GAA8BH,MAAMG,OAAO,EAC9CG,QAASC,CAAAA,GAAAA,GAAOA,GAAIJ,CAAAA,OAAO,GAAG;AAAEI,oBAAAA,GAAAA;AAAQA,oBAAAA,GAAAA,GAAAA,CAAIJ;AAAS,iBAAA,GAAGI,GACzD3H,CAAAA,CAAAA,MAAAA,CAAQ2H,CAAAA,GAAAA,GAAOA,GAAIC,CAAAA,gBAAgB,IAAI,CAACD,GAAIE,CAAAA,aAAa,CACzD7H,CAAAA,MAAAA,CAAQ,CAAE2H,GAAAA,EAAKpK,KAAOuK,EAAAA,IAAAA,GAAUA,IAAKC,CAAAA,SAAS,CAAEC,CAAAA,CAAKA,GAAAA,CAAAA,CAAEJ,gBAAgB,KAAKD,GAAIC,CAAAA,gBAAgB,CAAOrK,KAAAA,KAAAA,CAAAA,IACrG,EAAE;YAENgK,OAAQtH,CAAAA,OAAO,CAAEiG,CAAAA,MAAAA,GAAAA;AAChB,gBAAA,MAAM7F,OAAUkH,GAAAA,OAAAA,CAAQvE,MAAM,CAAE,CAAE2C,GAAAA,EAAK,EAAEiC,gBAAgB,EAAEK,UAAU,EAAEC,OAAO,EAAE,GAAA;AAC/E,oBAAA,IAAKD,UAAe/B,KAAAA,MAAAA,CAAOhB,IAAI,IAAIgD,OAASC,EAAAA,IAAAA,CAAMC,CAAAA,MAAAA,GAAUA,MAAOC,CAAAA,cAAc,KAAKnC,MAAAA,CAAOhB,IAAI,CAAK,EAAA;wBACrGS,GAAI2C,CAAAA,IAAI,CAAElK,aAAewJ,CAAAA,gBAAAA,CAAAA,CAAAA;AAC1B;oBAEA,OAAOjC,GAAAA;AACR,iBAAA,EAAG,EAAE,CAAA;AAEL1G,gBAAAA,MAAM,CAAEb,aAAAA,CAAe8H,MAAO0B,CAAAA,gBAAgB,EAAK,GAAG;oBACrDzH,KAAO+F,EAAAA,MAAAA,CAAOqC,IAAI,IAAI,CAAA;AACtBzK,oBAAAA,MAAAA,EAAQsI,SAAWF,CAAAA,MAAAA,CAAAA;AACnB7F,oBAAAA,OAAAA;oBACAC,SAAW,EAAA;AACZ,iBAAA;AACD,aAAA,CAAA;AAEA,YAAA,OAAOmE,yBACN2C,KAAMxE,CAAAA,MAAM,EAAEjH,GAAAA,CAAK0G,CAAAA,KAAS7F,GAAAA,SAAAA,CAAMiL,UAAYpF,EAAAA,KAAAA,CAAM6C,IAAI,CAAQ,CAAA,IAAA,EAAE,EAClEjG,MACA,EAAA,IAAI,CAACtB,OAAO,CAAA;AAEd,SAAA,CAAA;AACD;IA5CA6K,WAAc7K,CAAAA,OAAAA,GAA4B,EAAE,CAAG;QAC9C,IAAI,CAACA,OAAO,GAAGA,OAAAA;AAChB;AA2CD;AAEA,SAASyI,UAAWF,MAAmB,EAAA;AACtC,IAAA,IAAK,CAACzI,QAASiJ,CAAAA,IAAI,CAAER,MAAAA,CAAO0B,gBAAgB,CAAM,EAAA;QACjD,OAAO,SAAA;AACR;AAEA;;;KAIA,IAAK1B,MAAOuC,CAAAA,UAAU,KAAK,gBAAA,IAAoB,CAAC,CAACvC,MAAAA,CAAOsB,eAAe,EAAEhM,MAAS,EAAA;QACjF,OAAO,KAAA;AACR;IAEA,OAAO,KAAA;AACR;;;;;;"}
|
package/dist/index.html
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><link rel="icon" href="data:;base64,iVBORw0KGgo="/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Sonda report</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' fill='none'%3E%3Cpath fill='%23FACC15' d='M0 0h512v512H0V0Z'/%3E%3Cpath fill='%23000' d='m264.536 203.704-41.984 89.6-21.504-9.728c-20.139-9.216-35.669-21.504-46.592-36.864-10.923-15.36-16.384-37.717-16.384-67.072 0-37.547 9.728-65.536 29.184-83.968 19.797-18.773 52.395-28.33 97.792-28.672 18.773 0 35.84.853 51.2 2.56s27.648 3.584 36.864 5.632l13.824 2.56-10.24 82.432-12.8-1.536c-8.192-1.024-18.432-1.877-30.72-2.56-12.288-1.024-24.235-1.536-35.84-1.536-12.288 0-21.675 1.877-28.16 5.632-6.144 3.413-9.216 10.069-9.216 19.968 0 5.461 2.219 9.899 6.656 13.312 4.437 3.413 10.411 6.827 17.92 10.24Zm-18.432 100.864 42.496-90.624 22.016 9.728c23.211 10.24 40.107 23.04 50.688 38.4 10.581 15.019 15.872 36.523 15.872 64.512 0 37.888-9.899 67.072-29.696 87.552-19.797 20.48-52.395 30.891-97.792 31.232-22.528 0-43.52-1.536-62.976-4.608-19.456-2.731-36.693-5.973-51.712-9.728l10.24-82.432 12.288 2.048c8.533 1.365 19.797 2.731 33.792 4.096 13.995 1.365 29.355 2.048 46.08 2.048 12.971 0 22.699-1.877 29.184-5.632 6.485-3.755 9.728-9.899 9.728-18.432 0-5.803-1.536-10.411-4.608-13.824-3.072-3.413-8.533-6.827-16.384-10.24l-9.216-4.096Z'/%3E%3C/svg%3E"/><script type="module" crossorigin>var Zr=Object.defineProperty;var Jt=e=>{throw TypeError(e)};var Yr=(e,t,r)=>t in e?Zr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var gt=(e,t,r)=>Yr(e,typeof t!="symbol"?t+"":t,r),wt=(e,t,r)=>t.has(e)||Jt("Cannot "+r);var oe=(e,t,r)=>(wt(e,t,"read from private field"),r?r.call(e):t.get(e)),De=(e,t,r)=>t.has(e)?Jt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),mt=(e,t,r,n)=>(wt(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Kt=(e,t,r)=>(wt(e,t,"access private method"),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function r(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=r(i);fetch(i.href,o)}})();window.SONDA_JSON_REPORT=JSON.parse(String.raw`__REPORT_DATA__`);const Qr=!1;var It=Array.isArray,Ct=Array.from,Xr=Object.defineProperty,ze=Object.getOwnPropertyDescriptor,lr=Object.getOwnPropertyDescriptors,$r=Object.prototype,en=Array.prototype,$e=Object.getPrototypeOf;function tn(e){return typeof e=="function"}const Re=()=>{};function rn(e){return e()}function xt(e){for(var t=0;t<e.length;t++)e[t]()}const le=2,ur=4,je=8,lt=16,ne=32,ut=64,me=128,et=256,J=512,_e=1024,Be=2048,se=4096,Fe=8192,fr=16384,qe=32768,nn=1<<18,cr=1<<19,ve=Symbol("$state"),on=Symbol("");function dr(e){return e===this.v}function vr(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function an(e){return!vr(e,this.v)}function sn(e){throw new Error("effect_in_teardown")}function ln(){throw new Error("effect_in_unowned_derived")}function un(e){throw new Error("effect_orphan")}function fn(){throw new Error("effect_update_depth_exceeded")}function cn(){throw new Error("state_descriptors_fixed")}function dn(){throw new Error("state_prototype_fixed")}function vn(){throw new Error("state_unsafe_local_read")}function hn(){throw new Error("state_unsafe_mutation")}function Z(e){return{f:0,v:e,reactions:null,equals:dr,version:0}}function G(e){return pn(Z(e))}function _n(e,t=!1){var n;const r=Z(e);return t||(r.equals=an),L!==null&&L.l!==null&&((n=L.l).s??(n.s=[])).push(r),r}function pn(e){return A!==null&&A.f&le&&(ee===null?Dn([e]):ee.push(e)),e}function z(e,t){return A!==null&&Wt()&&A.f&(le|lt)&&(ee===null||!ee.includes(e))&&hn(),kt(e,t)}function kt(e,t){return e.equals(t)||(e.v=t,e.version=Dr(),hr(e,_e),Wt()&&E!==null&&E.f&J&&!(E.f&ne)&&(H!==null&&H.includes(e)?(ie(E,_e),vt(E)):he===null?Rn([e]):he.push(e))),t}function hr(e,t){var r=e.reactions;if(r!==null)for(var n=Wt(),i=r.length,o=0;o<i;o++){var a=r[o],s=a.f;s&_e||!n&&a===E||(ie(a,t),s&(J|me)&&(s&le?hr(a,Be):vt(a)))}}const Lt=1,jt=2,_r=4,gn=8,wn=16,mn=4,bn=1,yn=2,V=Symbol();let pr=!1;function Q(e,t=null,r){if(typeof e!="object"||e===null||ve in e)return e;const n=$e(e);if(n!==$r&&n!==en)return e;var i=new Map,o=It(e),a=Z(0);o&&i.set("length",Z(e.length));var s;return new Proxy(e,{defineProperty(l,f,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&cn();var c=i.get(f);return c===void 0?(c=Z(u.value),i.set(f,c)):z(c,Q(u.value,s)),!0},deleteProperty(l,f){var u=i.get(f);if(u===void 0)f in l&&i.set(f,Z(V));else{if(o&&typeof f=="string"){var c=i.get("length"),d=Number(f);Number.isInteger(d)&&d<c.v&&z(c,d)}z(u,V),Zt(a)}return!0},get(l,f,u){var h;if(f===ve)return e;var c=i.get(f),d=f in l;if(c===void 0&&(!d||(h=ze(l,f))!=null&&h.writable)&&(c=Z(Q(d?l[f]:V,s)),i.set(f,c)),c!==void 0){var v=_(c);return v===V?void 0:v}return Reflect.get(l,f,u)},getOwnPropertyDescriptor(l,f){var u=Reflect.getOwnPropertyDescriptor(l,f);if(u&&"value"in u){var c=i.get(f);c&&(u.value=_(c))}else if(u===void 0){var d=i.get(f),v=d==null?void 0:d.v;if(d!==void 0&&v!==V)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return u},has(l,f){var v;if(f===ve)return!0;var u=i.get(f),c=u!==void 0&&u.v!==V||Reflect.has(l,f);if(u!==void 0||E!==null&&(!c||(v=ze(l,f))!=null&&v.writable)){u===void 0&&(u=Z(c?Q(l[f],s):V),i.set(f,u));var d=_(u);if(d===V)return!1}return c},set(l,f,u,c){var g;var d=i.get(f),v=f in l;if(o&&f==="length")for(var h=u;h<d.v;h+=1){var p=i.get(h+"");p!==void 0?z(p,V):h in l&&(p=Z(V),i.set(h+"",p))}d===void 0?(!v||(g=ze(l,f))!=null&&g.writable)&&(d=Z(void 0),z(d,Q(u,s)),i.set(f,d)):(v=d.v!==V,z(d,Q(u,s)));var y=Reflect.getOwnPropertyDescriptor(l,f);if(y!=null&&y.set&&y.set.call(c,u),!v){if(o&&typeof f=="string"){var O=i.get("length"),x=Number(f);Number.isInteger(x)&&x>=O.v&&z(O,x+1)}Zt(a)}return!0},ownKeys(l){_(a);var f=Reflect.ownKeys(l).filter(d=>{var v=i.get(d);return v===void 0||v.v!==V});for(var[u,c]of i)c.v!==V&&!(u in l)&&f.push(u);return f},setPrototypeOf(){dn()}})}function Zt(e,t=1){z(e,e.v+t)}function Yt(e){return e!==null&&typeof e=="object"&&ve in e?e[ve]:e}function xn(e,t){return Object.is(Yt(e),Yt(t))}var Qt,ae,gr,wr;function kn(){if(Qt===void 0){Qt=window,ae=document;var e=Element.prototype,t=Node.prototype;gr=ze(t,"firstChild").get,wr=ze(t,"nextSibling").get,e.__click=void 0,e.__className="",e.__attributes=null,e.__e=void 0,Text.prototype.__t=void 0}}function Bt(e=""){return document.createTextNode(e)}function Se(e){return gr.call(e)}function ft(e){return wr.call(e)}function w(e){return Se(e)}function C(e,t){{var r=Se(e);return r instanceof Comment&&r.data===""?ft(r):r}}function m(e,t=1,r=!1){let n=e;for(;t--;)n=ft(n);return n}function En(e){e.textContent=""}function S(e){var t=le|_e;E===null?t|=me:E.f|=cr;const r={children:null,ctx:L,deps:null,equals:dr,f:t,fn:e,reactions:null,v:null,version:0,parent:E};if(A!==null&&A.f&le){var n=A;(n.children??(n.children=[])).push(r)}return r}function mr(e){var t=e.children;if(t!==null){e.children=null;for(var r=0;r<t.length;r+=1){var n=t[r];n.f&le?Ft(n):pe(n)}}}function br(e){var t,r=E;re(e.parent);try{mr(e),t=Rr(e)}finally{re(r)}return t}function yr(e){var t=br(e),r=(xe||e.f&me)&&e.deps!==null?Be:J;ie(e,r),e.equals(t)||(e.v=t,e.version=Dr())}function Ft(e){mr(e),Ce(e,0),ie(e,Fe),e.v=e.children=e.deps=e.ctx=e.reactions=null}function xr(e){E===null&&A===null&&un(),A!==null&&A.f&me&&ln(),Ht&&sn()}function On(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function Ne(e,t,r,n=!0){var i=(e&ut)!==0,o=E,a={ctx:L,deps:null,deriveds:null,nodes_start:null,nodes_end:null,f:e|_e,first:null,fn:t,last:null,next:null,parent:i?null:o,prev:null,teardown:null,transitions:null,version:0};if(r){var s=ke;try{$t(!0),dt(a),a.f|=fr}catch(u){throw pe(a),u}finally{$t(s)}}else t!==null&&vt(a);var l=r&&a.deps===null&&a.first===null&&a.nodes_start===null&&a.teardown===null&&(a.f&cr)===0;if(!l&&!i&&n&&(o!==null&&On(a,o),A!==null&&A.f&le)){var f=A;(f.children??(f.children=[])).push(a)}return a}function Sn(e){const t=Ne(je,null,!1);return ie(t,J),t.teardown=e,t}function Xt(e){xr();var t=E!==null&&(E.f&ne)!==0&&L!==null&&!L.m;if(t){var r=L;(r.e??(r.e=[])).push({fn:e,effect:E,reaction:A})}else{var n=Ae(e);return n}}function Tn(e){return xr(),kr(e)}function Nn(e){const t=Ne(ut,e,!0);return()=>{pe(t)}}function Ae(e){return Ne(ur,e,!1)}function kr(e){return Ne(je,e,!0)}function R(e){return He(e)}function He(e,t=0){return Ne(je|lt|t,e,!0)}function we(e,t=!0){return Ne(je|ne,e,!0,t)}function Er(e){var t=e.teardown;if(t!==null){const r=Ht,n=A;er(!0),te(null);try{t.call(null)}finally{er(r),te(n)}}}function Or(e){var t=e.deriveds;if(t!==null){e.deriveds=null;for(var r=0;r<t.length;r+=1)Ft(t[r])}}function Sr(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){var n=r.next;pe(r,t),r=n}}function An(e){for(var t=e.first;t!==null;){var r=t.next;t.f&ne||pe(t),t=r}}function pe(e,t=!0){var r=!1;if((t||e.f&nn)&&e.nodes_start!==null){for(var n=e.nodes_start,i=e.nodes_end;n!==null;){var o=n===i?null:ft(n);n.remove(),n=o}r=!0}Or(e),Sr(e,t&&!r),Ce(e,0),ie(e,Fe);var a=e.transitions;if(a!==null)for(const l of a)l.stop();Er(e);var s=e.parent;s!==null&&s.first!==null&&Tr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.parent=e.fn=e.nodes_start=e.nodes_end=null}function Tr(e){var t=e.parent,r=e.prev,n=e.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),t!==null&&(t.first===e&&(t.first=n),t.last===e&&(t.last=r))}function tt(e,t){var r=[];qt(e,r,!0),Nr(r,()=>{pe(e),t&&t()})}function Nr(e,t){var r=e.length;if(r>0){var n=()=>--r||t();for(var i of e)i.out(n)}else t()}function qt(e,t,r){if(!(e.f&se)){if(e.f^=se,e.transitions!==null)for(const a of e.transitions)(a.is_global||r)&&t.push(a);for(var n=e.first;n!==null;){var i=n.next,o=(n.f&qe)!==0||(n.f&ne)!==0;qt(n,t,o?r:!1),n=i}}}function rt(e){Ar(e,!0)}function Ar(e,t){if(e.f&se){e.f^=se,We(e)&&dt(e);for(var r=e.first;r!==null;){var n=r.next,i=(r.f&qe)!==0||(r.f&ne)!==0;Ar(r,i?t:!1),r=n}if(e.transitions!==null)for(const o of e.transitions)(o.is_global||t)&&o.in()}}let Et=!1,Ot=[];function Mn(){Et=!1;const e=Ot.slice();Ot=[],xt(e)}function ct(e){Et||(Et=!0,queueMicrotask(Mn)),Ot.push(e)}let nt=!1,ke=!1,Ht=!1;function $t(e){ke=e}function er(e){Ht=e}let St=[],Ie=0;let A=null;function te(e){A=e}let E=null;function re(e){E=e}let ee=null;function Dn(e){ee=e}let H=null,K=0,he=null;function Rn(e){he=e}let Mr=0,xe=!1,L=null;function Dr(){return++Mr}function Wt(){return L!==null&&L.l===null}function We(e){var a,s;var t=e.f;if(t&_e)return!0;if(t&Be){var r=e.deps,n=(t&me)!==0;if(r!==null){var i;if(t&et){for(i=0;i<r.length;i++)((a=r[i]).reactions??(a.reactions=[])).push(e);e.f^=et}for(i=0;i<r.length;i++){var o=r[i];if(We(o)&&yr(o),n&&E!==null&&!xe&&!((s=o==null?void 0:o.reactions)!=null&&s.includes(e))&&(o.reactions??(o.reactions=[])).push(e),o.version>e.version)return!0}}n||ie(e,J)}return!1}function Pn(e,t,r){throw e}function Rr(e){var d;var t=H,r=K,n=he,i=A,o=xe,a=ee,s=L,l=e.f;H=null,K=0,he=null,A=l&(ne|ut)?null:e,xe=!ke&&(l&me)!==0,ee=null,L=e.ctx;try{var f=(0,e.fn)(),u=e.deps;if(H!==null){var c;if(Ce(e,K),u!==null&&K>0)for(u.length=K+H.length,c=0;c<H.length;c++)u[K+c]=H[c];else e.deps=u=H;if(!xe)for(c=K;c<u.length;c++)((d=u[c]).reactions??(d.reactions=[])).push(e)}else u!==null&&K<u.length&&(Ce(e,K),u.length=K);return f}finally{H=t,K=r,he=n,A=i,xe=o,ee=a,L=s}}function zn(e,t){let r=t.reactions;if(r!==null){var n=r.indexOf(e);if(n!==-1){var i=r.length-1;i===0?r=t.reactions=null:(r[n]=r[i],r.pop())}}r===null&&t.f&le&&(H===null||!H.includes(t))&&(ie(t,Be),t.f&(me|et)||(t.f^=et),Ce(t,0))}function Ce(e,t){var r=e.deps;if(r!==null)for(var n=t;n<r.length;n++)zn(e,r[n])}function dt(e){var t=e.f;if(!(t&Fe)){ie(e,J);var r=E;E=e;try{Or(e),t<?An(e):Sr(e),Er(e);var n=Rr(e);e.teardown=typeof n=="function"?n:null,e.version=Mr}catch(i){Pn(i)}finally{E=r}}}function In(){Ie>1e3&&(Ie=0,fn()),Ie++}function Cn(e){var t=e.length;if(t!==0){In();var r=ke;ke=!0;try{for(var n=0;n<t;n++){var i=e[n];i.f&J||(i.f^=J);var o=[];Pr(i,o),Ln(o)}}finally{ke=r}}}function Ln(e){var t=e.length;if(t!==0)for(var r=0;r<t;r++){var n=e[r];!(n.f&(Fe|se))&&We(n)&&(dt(n),n.deps===null&&n.first===null&&n.nodes_start===null&&(n.teardown===null?Tr(n):n.fn=null))}}function jn(){if(nt=!1,Ie>1001)return;const e=St;St=[],Cn(e),nt||(Ie=0)}function vt(e){nt||(nt=!0,queueMicrotask(jn));for(var t=e;t.parent!==null;){t=t.parent;var r=t.f;if(r&(ut|ne)){if(!(r&J))return;t.f^=J}}St.push(t)}function Pr(e,t){var r=e.first,n=[];e:for(;r!==null;){var i=r.f,o=(i&ne)!==0,a=o&&(i&J)!==0;if(!a&&!(i&se))if(i&je){o?r.f^=J:We(r)&&dt(r);var s=r.first;if(s!==null){r=s;continue}}else i&ur&&n.push(r);var l=r.next;if(l===null){let c=r.parent;for(;c!==null;){if(e===c)break e;var f=c.next;if(f!==null){r=f;continue e}c=c.parent}}r=l}for(var u=0;u<n.length;u++)s=n[u],t.push(s),Pr(s,t)}function _(e){var s;var t=e.f,r=(t&le)!==0;if(r&&t&Fe){var n=br(e);return Ft(e),n}if(A!==null){ee!==null&&ee.includes(e)&&vn();var i=A.deps;H===null&&i!==null&&i[K]===e?K++:H===null?H=[e]:H.push(e),he!==null&&E!==null&&E.f&J&&!(E.f&ne)&&he.includes(e)&&(ie(E,_e),vt(E))}else if(r&&e.deps===null){var o=e,a=o.parent;a!==null&&!((s=a.deriveds)!=null&&s.includes(o))&&(a.deriveds??(a.deriveds=[])).push(o)}return r&&(o=e,We(o)&&yr(o)),e.v}function Ue(e){const t=A;try{return A=null,e()}finally{A=t}}const Bn=~(_e|Be|J);function ie(e,t){e.f=e.f&Bn|t}function W(e,t=!1,r){L={p:L,c:null,e:null,m:!1,s:e,x:null,l:null},t||(L.l={s:null,u:null,r1:[],r2:Z(!1)})}function U(e){const t=L;if(t!==null){const a=t.e;if(a!==null){var r=E,n=A;t.e=null;try{for(var i=0;i<a.length;i++){var o=a[i];re(o.effect),te(o.reaction),Ae(o.fn)}}finally{re(r),te(n)}}L=t.p,t.m=!0}return{}}function Fn(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(ve in e)Tt(e);else if(!Array.isArray(e))for(let t in e){const r=e[t];typeof r=="object"&&r&&ve in r&&Tt(r)}}}function Tt(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let n in e)try{Tt(e[n],t)}catch{}const r=$e(e);if(r!==Object.prototype&&r!==Array.prototype&&r!==Map.prototype&&r!==Set.prototype&&r!==Date.prototype){const n=lr(r);for(let i in n){const o=n[i].get;if(o)try{o.call(e)}catch{}}}}}const zr=new Set,Nt=new Set;function qn(e,t,r,n){function i(o){if(n.capture||Pe.call(t,o),!o.cancelBubble){var a=A,s=E;te(null),re(null);try{return r.call(this,o)}finally{te(a),re(s)}}}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ct(()=>{t.addEventListener(e,i,n)}):t.addEventListener(e,i,n),i}function Ee(e,t,r,n,i){var o={capture:n,passive:i},a=qn(e,t,r,o);(t===document.body||t===window||t===document)&&Sn(()=>{t.removeEventListener(e,a,o)})}function Ve(e){for(var t=0;t<e.length;t++)zr.add(e[t]);for(var r of Nt)r(e)}function Pe(e){var x;var t=this,r=t.ownerDocument,n=e.type,i=((x=e.composedPath)==null?void 0:x.call(e))||[],o=i[0]||e.target,a=0,s=e.__root;if(s){var l=i.indexOf(s);if(l!==-1&&(t===document||t===window)){e.__root=t;return}var f=i.indexOf(t);if(f===-1)return;l<=f&&(a=l)}if(o=i[a]||e.target,o!==t){Xr(e,"currentTarget",{configurable:!0,get(){return o||r}});var u=A,c=E;te(null),re(null);try{for(var d,v=[];o!==null;){var h=o.assignedSlot||o.parentNode||o.host||null;try{var p=o["__"+n];if(p!==void 0&&!o.disabled)if(It(p)){var[y,...O]=p;y.apply(o,[e,...O])}else p.call(o,e)}catch(g){d?v.push(g):d=g}if(e.cancelBubble||h===t||h===null)break;o=h}if(d){for(let g of v)queueMicrotask(()=>{throw g});throw d}}finally{e.__root=t,delete e.currentTarget,te(u),re(c)}}}function Ir(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function it(e,t){var r=E;r.nodes_start===null&&(r.nodes_start=e,r.nodes_end=t)}function N(e,t){var r=(t&bn)!==0,n=(t&yn)!==0,i,o=!e.startsWith("<!>");return()=>{i===void 0&&(i=Ir(o?e:"<!>"+e),r||(i=Se(i)));var a=n?document.importNode(i,!0):i.cloneNode(!0);if(r){var s=Se(a),l=a.lastChild;it(s,l)}else it(a,a);return a}}function Cr(e,t,r="svg"){var n=!e.startsWith("<!>"),i=`<${r}>${n?e:"<!>"+e}</${r}>`,o;return()=>{if(!o){var a=Ir(i),s=Se(a);o=Se(s)}var l=o.cloneNode(!0);return it(l,l),l}}function Ge(){var e=document.createDocumentFragment(),t=document.createComment(""),r=Bt();return e.append(t,r),it(t,r),e}function k(e,t){e!==null&&e.before(t)}const Hn=["touchstart","touchmove"];function Wn(e){return Hn.includes(e)}let At=!0;function D(e,t){var r=t==null?"":typeof t=="object"?t+"":t;r!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=r,e.nodeValue=r==null?"":r+"")}function Un(e,t){return Vn(e,t)}const ye=new Map;function Vn(e,{target:t,anchor:r,props:n={},events:i,context:o,intro:a=!0}){kn();var s=new Set,l=c=>{for(var d=0;d<c.length;d++){var v=c[d];if(!s.has(v)){s.add(v);var h=Wn(v);t.addEventListener(v,Pe,{passive:h});var p=ye.get(v);p===void 0?(document.addEventListener(v,Pe,{passive:h}),ye.set(v,1)):ye.set(v,p+1)}}};l(Ct(zr)),Nt.add(l);var f=void 0,u=Nn(()=>{var c=r??t.appendChild(Bt());return we(()=>{if(o){W({});var d=L;d.c=o}i&&(n.$$events=i),At=a,f=e(c,n)||{},At=!0,o&&U()}),()=>{var h;for(var d of s){t.removeEventListener(d,Pe);var v=ye.get(d);--v===0?(document.removeEventListener(d,Pe),ye.delete(d)):ye.set(d,v)}Nt.delete(l),tr.delete(f),c!==r&&((h=c.parentNode)==null||h.removeChild(c))}});return tr.set(f,u),f}let tr=new WeakMap;function I(e,t,r,n=null,i=!1){var o=e,a=null,s=null,l=null,f=i?qe:0;He(()=>{l!==(l=!!t())&&(l?(a?rt(a):a=we(()=>r(o)),s&&tt(s,()=>{s=null})):(s?rt(s):n&&(s=we(()=>n(o))),a&&tt(a,()=>{a=null})))},f)}function Gn(e,t,r){var n=e,i=V,o;He(()=>{vr(i,i=t())&&(o&&tt(o),o=we(()=>r(n)))})}let bt=null;function Jn(e,t){return t}function Kn(e,t,r,n){for(var i=[],o=t.length,a=0;a<o;a++)qt(t[a].e,i,!0);var s=o>0&&i.length===0&&r!==null;if(s){var l=r.parentNode;En(l),l.append(r),n.clear(),ue(e,t[0].prev,t[o-1].next)}Nr(i,()=>{for(var f=0;f<o;f++){var u=t[f];s||(n.delete(u.k),ue(e,u.prev,u.next)),pe(u.e,!s)}})}function Ut(e,t,r,n,i,o=null){var a=e,s={flags:t,items:new Map,first:null},l=(t&_r)!==0;if(l){var f=e;a=f.appendChild(Bt())}var u=null,c=!1;He(()=>{var d=r(),v=It(d)?d:d==null?[]:Ct(d),h=v.length;c&&h===0||(c=h===0,Zn(v,s,a,i,t,n),o!==null&&(h===0?u?rt(u):u=we(()=>o(a)):u!==null&&tt(u,()=>{u=null})),r())})}function Zn(e,t,r,n,i,o){var Je,Me,Ke,Ze;var a=(i&gn)!==0,s=(i&(Lt|jt))!==0,l=e.length,f=t.items,u=t.first,c=u,d,v=null,h,p=[],y=[],O,x,g,b;if(a)for(b=0;b<l;b+=1)O=e[b],x=o(O,b),g=f.get(x),g!==void 0&&((Je=g.a)==null||Je.measure(),(h??(h=new Set)).add(g));for(b=0;b<l;b+=1){if(O=e[b],x=o(O,b),g=f.get(x),g===void 0){var T=c?c.e.nodes_start:r;v=Qn(T,t,v,v===null?t.first:v.next,O,x,b,n,i),f.set(x,v),p=[],y=[],c=v.next;continue}if(s&&Yn(g,O,b,i),g.e.f&se&&(rt(g.e),a&&((Me=g.a)==null||Me.unfix(),(h??(h=new Set)).delete(g))),g!==c){if(d!==void 0&&d.has(g)){if(p.length<y.length){var j=y[0],P;v=j.prev;var M=p[0],F=p[p.length-1];for(P=0;P<p.length;P+=1)rr(p[P],j,r);for(P=0;P<y.length;P+=1)d.delete(y[P]);ue(t,M.prev,F.next),ue(t,v,M),ue(t,F,j),c=j,v=F,b-=1,p=[],y=[]}else d.delete(g),rr(g,c,r),ue(t,g.prev,g.next),ue(t,g,v===null?t.first:v.next),ue(t,v,g),v=g;continue}for(p=[],y=[];c!==null&&c.k!==x;)c.e.f&se||(d??(d=new Set)).add(c),y.push(c),c=c.next;if(c===null)continue;g=c}p.push(g),v=g,c=g.next}if(c!==null||d!==void 0){for(var B=d===void 0?[]:Ct(d);c!==null;)c.e.f&se||B.push(c),c=c.next;var be=B.length;if(be>0){var pt=i&_r&&l===0?r:null;if(a){for(b=0;b<be;b+=1)(Ke=B[b].a)==null||Ke.measure();for(b=0;b<be;b+=1)(Ze=B[b].a)==null||Ze.fix()}Kn(t,B,pt,f)}}a&&ct(()=>{var Ye;if(h!==void 0)for(g of h)(Ye=g.a)==null||Ye.apply()}),E.first=t.first&&t.first.e,E.last=v&&v.e}function Yn(e,t,r,n){n&Lt&&kt(e.v,t),n&jt?kt(e.i,r):e.i=r}function Qn(e,t,r,n,i,o,a,s,l){var f=bt;try{var u=(l&Lt)!==0,c=(l&wn)===0,d=u?c?_n(i):Z(i):i,v=l&jt?Z(a):a,h={i:v,v:d,k:o,a:null,e:null,prev:r,next:n};return bt=h,h.e=we(()=>s(e,d,v),pr),h.e.prev=r&&r.e,h.e.next=n&&n.e,r===null?t.first=h:(r.next=h,r.e.next=h.e),n!==null&&(n.prev=h,n.e.prev=h.e),h}finally{bt=f}}function rr(e,t,r){for(var n=e.next?e.next.e.nodes_start:r,i=t?t.e.nodes_start:r,o=e.e.nodes_start;o!==n;){var a=ft(o);i.before(o),o=a}}function ue(e,t,r){t===null?e.first=r:(t.next=r,t.e.next=r&&r.e),r!==null&&(r.prev=t,r.e.prev=t&&t.e)}function Xn(e,t,...r){var n=e,i=Re,o;He(()=>{i!==(i=t())&&(o&&(pe(o),o=null),o=we(()=>i(n,...r)))},qe)}function q(e,t,r,n){var i=e.__attributes??(e.__attributes={});i[t]!==(i[t]=r)&&(t==="loading"&&(e[on]=r),r==null?e.removeAttribute(t):typeof r!="string"&&$n(e).includes(t)?e[t]=r:e.setAttribute(t,r))}var nr=new Map;function $n(e){var t=nr.get(e.nodeName);if(t)return t;nr.set(e.nodeName,t=[]);for(var r,n=$e(e),i=Element.prototype;i!==n;){r=lr(n);for(var o in r)r[o].set&&t.push(o);n=$e(n)}return t}function ei(e,t){var r=e.__className,n=ti(t);(r!==n||pr)&&(n===""?e.removeAttribute("class"):e.setAttribute("class",n),e.__className=n)}function ti(e){return e??""}function ot(e,t,r){if(r){if(e.classList.contains(t))return;e.classList.add(t)}else{if(!e.classList.contains(t))return;e.classList.remove(t)}}function Mt(e,t,r,n,i){var o=e.__attributes??(e.__attributes={}),a=e.style,s="style-"+t;o[s]===r&&!i||(o[s]=r,r==null?a.removeProperty(t):a.setProperty(t,r,""))}const ri=requestAnimationFrame,ni=()=>performance.now(),ce={tick:e=>ri(e),now:()=>ni(),tasks:new Set};function Lr(e){ce.tasks.forEach(t=>{t.c(e)||(ce.tasks.delete(t),t.f())}),ce.tasks.size!==0&&ce.tick(Lr)}function ii(e){let t;return ce.tasks.size===0&&ce.tick(Lr),{promise:new Promise(r=>{ce.tasks.add(t={c:e,f:r})}),abort(){ce.tasks.delete(t)}}}function Qe(e,t){e.dispatchEvent(new CustomEvent(t))}function oi(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function ir(e){const t={},r=e.split(";");for(const n of r){const[i,o]=n.split(":");if(!i||o===void 0)break;const a=oi(i.trim());t[a]=o.trim()}return t}const ai=e=>e;function si(e,t,r,n){var i=(e&mn)!==0,o="both",a,s=t.inert,l,f;function u(){var p=A,y=E;te(null),re(null);try{return a??(a=r()(t,(n==null?void 0:n())??{},{direction:o}))}finally{te(p),re(y)}}var c={is_global:i,in(){t.inert=s,Qe(t,"introstart"),l=Dt(t,u(),f,1,()=>{Qe(t,"introend"),l==null||l.abort(),l=a=void 0})},out(p){t.inert=!0,Qe(t,"outrostart"),f=Dt(t,u(),l,0,()=>{Qe(t,"outroend"),p==null||p()})},stop:()=>{l==null||l.abort(),f==null||f.abort()}},d=E;if((d.transitions??(d.transitions=[])).push(c),At){var v=i;if(!v){for(var h=d.parent;h&&h.f&qe;)for(;(h=h.parent)&&!(h.f<););v=!h||(h.f&fr)!==0}v&&Ae(()=>{Ue(()=>c.in())})}}function Dt(e,t,r,n,i){var o=n===1;if(tn(t)){var a,s=!1;return ct(()=>{if(!s){var y=t({direction:o?"in":"out"});a=Dt(e,y,r,n,i)}}),{abort:()=>{s=!0,a==null||a.abort()},deactivate:()=>a.deactivate(),reset:()=>a.reset(),t:()=>a.t()}}if(r==null||r.deactivate(),!(t!=null&&t.duration))return i(),{abort:Re,deactivate:Re,reset:Re,t:()=>n};const{delay:l=0,css:f,tick:u,easing:c=ai}=t;var d=[];if(o&&r===void 0&&(u&&u(0,1),f)){var v=ir(f(0,1));d.push(v,v)}var h=()=>1-n,p=e.animate(d,{duration:l});return p.onfinish=()=>{var y=(r==null?void 0:r.t())??1-n;r==null||r.abort();var O=n-y,x=t.duration*Math.abs(O),g=[];if(x>0){if(f)for(var b=Math.ceil(x/16.666666666666668),T=0;T<=b;T+=1){var j=y+O*c(T/b),P=f(j,1-j);g.push(ir(P))}h=()=>{var M=p.currentTime;return y+O*c(M/x)},u&&ii(()=>{if(p.playState!=="running")return!1;var M=h();return u(M,1-M),!0})}p=e.animate(g,{duration:x,fill:"forwards"}),p.onfinish=()=>{h=()=>n,u==null||u(n,1-n),i()}},{abort:()=>{p&&(p.cancel(),p.effect=null)},deactivate:()=>{i=Re},reset:()=>{n===0&&(u==null||u(1,0))},t:()=>h()}}function Rt(e,t,r){if(e.multiple)return ui(e,t);for(var n of e.options){var i=jr(n);if(xn(i,t)){n.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function li(e,t){let r=!0;Ae(()=>{t&&Rt(e,Ue(t),r),r=!1;var n=new MutationObserver(()=>{var i=e.__value;Rt(e,i)});return n.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),()=>{n.disconnect()}})}function ui(e,t){for(var r of e.options)r.selected=~t.indexOf(jr(r))}function jr(e){return"__value"in e?e.__value:e.value}var fe,Oe,Le,at,Br;const st=class st{constructor(t){De(this,at);De(this,fe,new WeakMap);De(this,Oe);De(this,Le);mt(this,Le,t)}observe(t,r){var n=oe(this,fe).get(t)||new Set;return n.add(r),oe(this,fe).set(t,n),Kt(this,at,Br).call(this).observe(t,oe(this,Le)),()=>{var i=oe(this,fe).get(t);i.delete(r),i.size===0&&(oe(this,fe).delete(t),oe(this,Oe).unobserve(t))}}};fe=new WeakMap,Oe=new WeakMap,Le=new WeakMap,at=new WeakSet,Br=function(){return oe(this,Oe)??mt(this,Oe,new ResizeObserver(t=>{for(var r of t){st.entries.set(r.target,r);for(var n of oe(this,fe).get(r.target)||[])n(r)}}))},gt(st,"entries",new WeakMap);let Pt=st;var fi=new Pt({box:"border-box"});function de(e,t,r){var n=fi.observe(e,()=>r(e[t]));Ae(()=>(Ue(()=>r(e[t])),n))}function or(e,t){return e===t||(e==null?void 0:e[ve])===t}function ci(e={},t,r,n){return Ae(()=>{var i,o;return kr(()=>{i=o,o=[],Ue(()=>{e!==r(...o)&&(t(e,...o),i&&or(r(...i),e)&&t(null,...i))})}),()=>{ct(()=>{o&&or(r(...o),e)&&t(null,...o)})}}),e}function ht(e=!1){const t=L,r=t.l.u;if(!r)return;let n=()=>Fn(t.s);if(e){let i=0,o={};const a=S(()=>{let s=!1;const l=t.s;for(const f in l)l[f]!==o[f]&&(o[f]=l[f],s=!0);return s&&i++,i});n=()=>_(a)}r.b.length&&Tn(()=>{ar(t,n),xt(r.b)}),Xt(()=>{const i=Ue(()=>r.m.map(rn));return()=>{for(const o of i)typeof o=="function"&&o()}}),r.a.length&&Xt(()=>{ar(t,n),xt(r.a)})}function ar(e,t){if(e.l.s)for(const r of e.l.s)_(r);t()}const di="5";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(di);const vi=e=>e;function hi(e,{delay:t=0,duration:r=400,easing:n=vi}={}){const i=+getComputedStyle(e).opacity;return{delay:t,duration:r,easing:n,css:o=>`opacity: ${o*i}`}}function _i(){let e=G("uncompressed");return{get type(){return _(e)},setType(t){z(e,Q(t))}}}function pi(){let e=Q({file:null,folder:null,output:null,duplicates:null}),t=Q([]);return{get file(){return e.file},get folder(){return e.folder},get output(){return e.output},get duplicates(){return e.duplicates},open(r,n){t.push(r),e[r]=n},close(){t.length!==0&&(e[t.pop()]=null)}}}function gi(e){return Object.entries(e.outputs).map(([t,r])=>{const n=new wi;return Object.entries(r.inputs).forEach(([i,o])=>n.insert(i,o)),n.root.name=t,n.root.uncompressed=r.uncompressed,n.root.gzip=r.gzip,n.root.brotli=r.brotli,n.optimize(),n})}function ge(e){return"items"in e}class wi{constructor(){gt(this,"root");this.root=this.createNode("","")}createNode(t,r){return{name:t,path:r,uncompressed:0,gzip:0,brotli:0,items:[]}}insert(t,r){const n=t.split("/"),i=n.pop();let o=this.root;n.forEach(a=>{let s=o.items.find(l=>ge(l)&&l.name===a);s||(s=this.createNode(a,o.path?`${o.path}/${a}`:a),o.items.push(s)),o=s,o.uncompressed+=r.uncompressed,o.gzip+=r.gzip,o.brotli+=r.brotli}),o.items.push({name:i,path:o.path?`${o.path}/${i}`:i,uncompressed:r.uncompressed,gzip:r.gzip,brotli:r.brotli})}optimize(){const t=[this.root];for(;t.length;){const r=t.pop();for(;r.items.length===1&&ge(r.items[0]);){const n=r.items[0];r.name=`${r.name}/${n.name}`,r.path=n.path,r.items=n.items}r.items.sort((n,i)=>i.uncompressed-n.uncompressed),r.items.forEach(n=>ge(n)&&t.push(n))}}get(t){let r=this.root;for(;r&&r.path!==t;)r=ge(r)&&r.items.find(n=>t.startsWith(n.path))||null;return r}}const zt=gi(window.SONDA_JSON_REPORT);function mi(){let e=G(0);const t=S(()=>zt.at(_(e)));return{get index(){return _(e)},get output(){return _(t)},setIndex(r){z(e,Q(r))}}}const bi=/(.*)(?:.*node_modules\/)(@[^\/]+\/[^\/]+|[^\/]+)/,yi=Object.keys(window.SONDA_JSON_REPORT.inputs).map(e=>bi.exec(e)).filter(e=>e!==null).reduce((e,t)=>{const[r,,n]=t;return e.has(n)||e.set(n,new Set),e.get(n).add(r),e},new Map),Xe=new Map(Array.from(yi).filter(([,e])=>e.size>1).map(([e,t])=>[e,Array.from(t)])),X=mi(),Te=_i(),Y=pi();var xi=()=>Y.close(),ki=N('<div class="fixed top-0 right-0 left-0 bottom-0 flex justify-center items-center"><div class="fixed bg-gray-200/70 w-full h-full backdrop-blur-sm" aria-hidden="true"></div> <div class="bg-white relative flex flex-col rounded-lg border p-6 shadow-lg overflow-hidden max-h-[95vh] max-w-[95vw]"><div class="mb-4"><h2 class="py-2 pr-6 block align-text-bottom font-semibold leading-none tracking-tight text-base border-b-2 border-gray-300 border-dashed"> </h2> <button aria-label="Close dialog" class="absolute top-0 right-0 mt-2 mr-2 flex justify-center items-center border border-transparent rounded-full w-10 h-10 text-gray-600 hover:text-gray-900"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"></path><path d="M18 6 6 18M6 6l12 12"></path></svg></button></div> <!></div></div>');function _t(e,t){W(t,!0);let r=G(void 0);function n(d){d.target===_(r)&&Y.close()}var i=ki();Ee("click",ae.body,n);var o=w(i);ci(o,d=>z(r,d),()=>_(r));var a=m(o,2),s=w(a),l=w(s),f=w(l),u=m(l,2);u.__click=[xi];var c=m(s,2);Xn(c,()=>t.children),R(()=>{ot(a,"w-[95vw]",t.large),ot(a,"h-[95vh]",t.large),D(f,t.heading)}),si(3,i,()=>hi,()=>({duration:150})),k(e,i),U()}Ve(["click"]);function $(e){const r=["b","KiB","MiB","GiB","TiB","PiB"];let n=e,i=0;for(;n>1024&&r.length>i+1;)n=n/1024,i++;return`${i?n.toFixed(2):n} ${r[i]}`}var Ei=N('<span class="text-gray-900"> </span> <span class="text-gray-600"> </span>',1),Oi=Cr('<g><rect shape-rendering="crispEdges" vector-effect="non-scaling-stroke"></rect><foreignObject class="pointer-events-none"><p xmlns="http://www.w3.org/1999/xhtml" class="p-1 size-full text-center text-xs truncate"><!></p></foreignObject><!></g>');function Si(e,t){W(t,!0);const r=20,n=6,i=22,o=S(()=>t.tile.width-n*2),a=S(()=>t.tile.height-n-i),s=S(()=>$(t.content[Te.type])),l=S(()=>Math.min(t.content[Te.type]/t.totalBytes*100,100)),f=S(()=>`${t.content.name} - ${_(s)} (${_(l).toFixed(2)}%)`),u=S(()=>Math.round(_(l))+"%"),c=S(()=>t.tile.width>=i*1.75&&t.tile.height>=i),d=S(()=>!ge(t.content)||_(a)<=r||_(o)<=r?[]:t.content.items);var v=Oi(),h=w(v);const p=S(()=>`stroke-gray-500 ${(ge(t.content)?"cursor-zoom-in":"cursor-pointer")??""} svelte-xusoaq`);var y=m(h),O=w(y),x=w(O);I(x,()=>_(c),b=>{var T=Ei(),j=C(T),P=w(j),M=m(j,2),F=w(M);R(()=>{D(P,t.content.name),D(F,`- ${_(s)??""}`)}),k(b,T)});var g=m(y);I(g,()=>_(d).length,b=>{var T=S(()=>t.tile.x+n),j=S(()=>t.tile.y+i);Fr(b,{get content(){return _(d)},get totalBytes(){return t.totalBytes},get width(){return _(o)},get height(){return _(a)},get xStart(){return _(T)},get yStart(){return _(j)}})}),R(()=>{q(h,"data-tile",t.content.path),q(h,"data-hover",_(f)),q(h,"x",t.tile.x),q(h,"y",t.tile.y),q(h,"width",t.tile.width),q(h,"height",t.tile.height),ei(h,_(p)),Mt(h,"--percentage",_(u)),q(y,"x",t.tile.x),q(y,"y",t.tile.y),q(y,"width",t.tile.width),q(y,"height",t.tile.height)}),k(e,v),U()}function Ti(e,t,r,n=0,i=0){const o=[],a=new Float32Array(e.length),s=e.reduce((b,T)=>b+T,0),l=t*r/s;for(let b=0;b<e.length;b++)a[b]=e[b]*l;let f=n,u=i,c=t,d=r,v=c>=d,h=v?d:c,p=0,y=a[0],O=a[0],x=a[0],g=yt(h,y,O,x);for(let b=1;b<a.length;b++){const T=a[b],j=y+T,P=Math.min(O,T),M=Math.max(x,T),F=yt(h,j,P,M);if(g<F){sr(a,p,b-1,y/h,v,f,u,o);const B=y/h;v?(f+=B,c-=B):(u+=B,d-=B),v=c>=d,h=v?d:c,p=b,y=T,O=T,x=T,g=yt(h,y,O,x)}else y=j,O=P,x=M,g=F}return sr(a,p,a.length-1,y/h,v,f,u,o),o}function yt(e,t,r,n){const i=e*e,o=t*t;return Math.max(i*n/o,o/(i*r))}function sr(e,t,r,n,i,o,a,s){let l=i?a:o;for(let f=t;f<=r;f++){const c=e[f]/n;i?s.push({x:o,y:l,width:n,height:c}):s.push({x:l,y:a,width:c,height:n}),l+=c}}function Fr(e,t){W(t,!0);const r=S(()=>Array.isArray(t.content)?Object.values(t.content):[t.content]),n=S(()=>Ti(_(r).map(a=>a[Te.type]),t.width,t.height,t.xStart,t.yStart));var i=Ge(),o=C(i);Ut(o,18,()=>_(n),a=>a,(a,s,l)=>{Si(a,{get tile(){return s},get content(){return _(r)[_(l)]},get totalBytes(){return t.totalBytes}})}),k(e,i),U()}var Ni=Cr('<svg xmlns="http://www.w3.org/2000/svg" role="img"><!></svg>');function qr(e,t){W(t,!0);var r=Ge(),n=C(r);Gn(n,()=>[t.content.path,t.width,t.height],i=>{var o=Ni(),a=w(o),s=S(()=>t.width-1),l=S(()=>t.height-1);Fr(a,{get content(){return t.content},get totalBytes(){return t.content[Te.type]},get width(){return _(s)},get height(){return _(l)},xStart:.5,yStart:.5}),R(()=>{q(o,"width",t.width),q(o,"height",t.height)}),k(i,o)}),k(e,r),U()}var Ai=N('<span>Approx. GZIP size</span> <span class="font-bold"> </span>',1),Mi=N('<span>Approx. Brotli size</span> <span class="font-bold"> </span>',1),Di=N('<div class="mb-4 grid grid-cols-[auto_1fr] gap-x-8"><span>Bundled size</span> <span class="font-bold"> </span> <!> <!></div> <div class="flex-grow overflow-hidden"><!></div>',1);function Ri(e,t){W(t,!0);let r=G(0),n=G(0);_t(e,{get heading(){return t.folder.path},large:!0,children:o=>{var a=Di(),s=C(a),l=m(w(s),2),f=w(l);R(()=>D(f,$(t.folder.uncompressed)));var u=m(l,2);I(u,()=>t.folder.gzip,h=>{var p=Ai(),y=m(C(p),2),O=w(y);R(()=>D(O,$(t.folder.gzip))),k(h,p)});var c=m(u,2);I(c,()=>t.folder.brotli,h=>{var p=Mi(),y=m(C(p),2),O=w(y);R(()=>D(O,$(t.folder.brotli))),k(h,p)});var d=m(s,2),v=w(d);qr(v,{get content(){return t.folder},get width(){return _(r)},get height(){return _(n)}}),de(d,"clientWidth",h=>z(r,h)),de(d,"clientHeight",h=>z(n,h)),k(o,a)},$$slots:{default:!0}}),U()}class Vt{static generate(t,r){return this.processItems(t,r).join(`
|
|
2
|
-
`).trim()}static processItems(t,r=null,n=""){const i=[],o=t.length-1;return t.forEach((a,s)=>{const l=s===o,f=l?"└── ":"├── ",[u,c]=typeof a=="string"?[a,a]:a,d=r==null?void 0:r(u,t);if(i.push(n+f+c),d){const v=l?" ":"│ ";return i.push(...this.processItems(d,r,n+v))}if(l)return i.push(n)}),i}}var Pi=N('<span>File format</span> <span class="font-bold"> </span>',1),zi=N('<span>Approx. GZIP size</span> <span class="font-bold"> </span>',1),Ii=N('<span>Approx. Brotli size</span> <span class="font-bold"> </span>',1),Ci=N('<p class="mt-12">This file is in the bundle, because it is:</p> <code class="mt-2 p-4 w-max leading-5 bg-slate-200 rounded overflow-auto min-w-full"><pre> </pre></code>',1),Li=N('<div class="flex flex-col overflow-y-auto"><div class="grid grid-cols-[auto_1fr] gap-x-8"><!> <span>Original file size</span> <span class="font-bold"> </span> <span>Bundled size</span> <span class="font-bold"> </span> <!> <!></div> <!></div>');function ji(e,t){W(t,!0);const r=S(()=>window.SONDA_JSON_REPORT.inputs[t.file.path]),n=S(()=>{var s;if(_(r))return _(r).format.toUpperCase();const a=(s=window.SONDA_JSON_REPORT.inputs[t.file.path])==null?void 0:s.belongsTo;return a?window.SONDA_JSON_REPORT.inputs[a].format.toUpperCase:"UNKNOWN"});function i(a,s){return s.length>1?[]:Object.entries(window.SONDA_JSON_REPORT.inputs).filter(([,l])=>l.imports.includes(a)).map(([l])=>[l,`imported by ${l}`])}const o=S(()=>{if(!_(r))return null;const a=_(r).belongsTo?[[_(r).belongsTo,`part of the ${_(r).belongsTo} bundle`]]:i(t.file.path,[]);return Vt.generate(a,i)});_t(e,{get heading(){return t.file.path},children:s=>{var l=Li(),f=w(l),u=w(f);I(u,()=>_(n)!=="UNKNOWN",x=>{var g=Pi(),b=m(C(g),2),T=w(b);R(()=>D(T,_(n))),k(x,g)});var c=m(u,4),d=w(c);R(()=>{var x;return D(d,$(((x=_(r))==null?void 0:x.bytes)||0))});var v=m(c,4),h=w(v);R(()=>D(h,$(t.file.uncompressed)));var p=m(v,2);I(p,()=>t.file.gzip,x=>{var g=zi(),b=m(C(g),2),T=w(b);R(()=>D(T,$(t.file.gzip))),k(x,g)});var y=m(p,2);I(y,()=>t.file.brotli,x=>{var g=Ii(),b=m(C(g),2),T=w(b);R(()=>D(T,$(t.file.brotli))),k(x,g)});var O=m(f,2);I(O,()=>_(o),x=>{var g=Ci(),b=m(C(g),2),T=w(b),j=w(T);R(()=>D(j,_(o))),k(x,g)}),k(s,l)},$$slots:{default:!0}}),U()}var Bi=N('<p>The following dependencies are duplicated:</p> <code class="mt-2 p-4 w-max leading-5 bg-slate-200 rounded overflow-auto min-w-full"><pre> </pre></code>',1);function Fi(e,t){W(t,!0);const r=S(()=>Vt.generate(Array.from(Xe.keys()),n=>Xe.get(n)));_t(e,{heading:"Duplicated modules found in the build",children:i=>{var o=Ge(),a=C(o);I(a,()=>Xe.size>0,s=>{var l=Bi(),f=m(C(l),2),u=w(f),c=w(u);R(()=>D(c,_(r))),k(s,l)}),k(i,o)},$$slots:{default:!0}}),U()}var qi=N('<span>GZIP size</span> <span class="font-bold"> </span>',1),Hi=N('<span>Brotli size</span> <span class="font-bold"> </span>',1),Wi=N('<p class="mt-12">Module types</p> <div class="mt-2 h-10 w-[40rem] max-w-full flex rounded-lg overflow-hidden"><div class="bg-yellow-300 h-full"></div> <div class="bg-blue-300 h-full"></div> <div class="bg-gray-200 h-full"></div></div> <div class="flex justify-between mt-2"><div class="flex items-center space-x-2"><div class="inline-block w-4 h-4 bg-yellow-300"></div> <p>ESM: <span class="font-semibold"> </span></p></div> <div class="flex items-center space-x-2"><div class="inline-block w-4 h-4 bg-blue-300"></div> <p>CJS: <span class="font-semibold"> </span></p></div> <div class="flex items-center space-x-2"><div class="inline-block w-4 h-4 bg-gray-300"></div> <p>Unknown: <span class="font-semibold"> </span></p></div></div>',1),Ui=N('<code class="mt-2 p-4 w-max leading-5 bg-slate-200 rounded overflow-auto min-w-full"><pre> </pre></code>'),Vi=N('<div class="flex flex-col overflow-y-auto"><div class="grid grid-cols-[auto_1fr] gap-x-8"><span>Bundled size</span> <span class="font-bold"> </span> <!> <!></div></div> <!> <p class="mt-12">This asset includes <span class="font-semibold"> </span> external dependencies</p> <!>',1);function Gi(e,t){W(t,!0);const r=S(()=>window.SONDA_JSON_REPORT.outputs[t.output.root.name]),n=S(()=>{const f={esm:0,cjs:0,unknown:0},u=window.SONDA_JSON_REPORT.inputs;return Object.entries(_(r).inputs).forEach(([c,d])=>{var h;const v=((h=u[c])==null?void 0:h.format)??"unknown";f[v]+=d.uncompressed}),f}),i=S(()=>Math.round(_(n).esm/_(r).uncompressed*1e4)/100),o=S(()=>Math.round(_(n).cjs/_(r).uncompressed*1e4)/100),a=S(()=>Math.round(_(n).unknown/_(r).uncompressed*1e4)/100),s=S(()=>{const f=/(?:.*node_modules\/)(@[^\/]+\/[^\/]+|[^\/]+)/;return Object.keys(_(r).inputs).map(u=>{var c;return((c=u.match(f))==null?void 0:c[1])??null}).filter((u,c,d)=>u!==null&&d.indexOf(u)===c).sort()}),l=S(()=>Vt.generate(_(s)));_t(e,{get heading(){return t.output.root.name},children:u=>{var c=Vi(),d=C(c),v=w(d),h=m(w(v),2),p=w(h);R(()=>D(p,$(t.output.root.uncompressed)));var y=m(h,2);I(y,()=>t.output.root.gzip,P=>{var M=qi(),F=m(C(M),2),B=w(F);R(()=>D(B,$(t.output.root.gzip))),k(P,M)});var O=m(y,2);I(O,()=>t.output.root.brotli,P=>{var M=Hi(),F=m(C(M),2),B=w(F);R(()=>D(B,$(t.output.root.brotli))),k(P,M)});var x=m(d,2);I(x,()=>_(a)<100,P=>{var M=Wi(),F=m(C(M),2),B=w(F),be=m(B,2),pt=m(be,2),Je=m(F,2),Me=w(Je),Ke=m(w(Me),2),Ze=m(w(Ke)),Ye=w(Ze),Gt=m(Me,2),Hr=m(w(Gt),2),Wr=m(w(Hr)),Ur=w(Wr),Vr=m(Gt,2),Gr=m(w(Vr),2),Jr=m(w(Gr)),Kr=w(Jr);R(()=>{q(B,"style",`width: ${_(i)}%`),q(be,"style",`width: ${_(o)}%`),q(pt,"style",`width: ${_(a)}%`),D(Ye,`${_(i)??""}%`),D(Ur,`${_(o)??""}%`),D(Kr,`${_(a)??""}%`)}),k(P,M)});var g=m(x,2),b=m(w(g)),T=w(b),j=m(g,2);I(j,()=>_(s).length>0,P=>{var M=Ui(),F=w(M),B=w(F);R(()=>D(B,_(l))),k(P,M)}),R(()=>D(T,_(s).length)),k(u,c)},$$slots:{default:!0}}),U()}var Ji=N("<!> <!> <!> <!>",1);function Ki(e,t){W(t,!1),ht();var r=Ji(),n=C(r);I(n,()=>Y.folder,s=>{Ri(s,{get folder(){return Y.folder}})});var i=m(n,2);I(i,()=>Y.file,s=>{ji(s,{get file(){return Y.file}})});var o=m(i,2);I(o,()=>Y.output,s=>{Gi(s,{get output(){return Y.output}})});var a=m(o,2);I(a,()=>Y.duplicates,s=>{Fi(s,{})}),k(e,r),U()}var Zi=(e,t)=>Te.setType(t()),Yi=N('<button type="button" class="px-4 py-2 text-sm font-medium bg-white hover:bg-gray-100 text-gray-900 border border-gray-300 first:rounded-s-lg last:rounded-e-lg focus:ring-1 focus:ring-blue-300 focus:z-10 svelte-2f0583"> </button>'),Qi=N('<div class="inline-flex space-x-[-1px]" role="group"></div>');function Xi(e,t){W(t,!0);const r=S(()=>X.output.root.gzip>0),n=S(()=>X.output.root.brotli>0),i=S(()=>{const s=[["uncompressed","Uncompressed"]];return _(r)&&s.push(["gzip","GZIP"]),_(n)&&s.push(["brotli","Brotli"]),s});var o=Ge(),a=C(o);I(a,()=>_(i).length>1,s=>{var l=Qi();Ut(l,21,()=>_(i),([f,u])=>f,(f,u)=>{let c=()=>_(u)[0],d=()=>_(u)[1];var v=Yi();v.__click=[Zi,c];var h=w(v);R(()=>{q(v,"title",`Show the ${d()} file size in diagram`),ot(v,"active",c()===Te.type),D(h,d())}),k(f,v)}),k(s,l)}),k(e,o),U()}Ve(["click"]);function $i(){Y.open("output",X.output)}var eo=N('<button title="Show details of the active output" aria-label="Details of the entire build output" class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 h-10"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-gray-900 pointer-events-none"><path d="M0 0h24v24H0z" stroke="none" shape-rendering="geometricPrecision"></path><path d="M8 5H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.697M18 12V7a2 2 0 0 0-2-2h-2" shape-rendering="geometricPrecision"></path><path d="M8 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2zM8 11h4M8 15h3M14 17.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 1 0-5 0M18.5 19.5 21 22" shape-rendering="geometricPrecision"></path></svg></button>');function to(e,t){W(t,!1),ht();var r=eo();r.__click=[$i],k(e,r),U()}Ve(["click"]);function ro(){Y.open("duplicates",!0)}var no=N('<button title="See duplicated modules found in the build" aria-label="List of duplicated modules found in the build output" class="text-gray-900 bg-red-50 border border-red-400 focus:outline-none hover:bg-red-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 h-10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-red-600"><path stroke="none" d="M0 0h24v24H0z" shape-rendering="geometricPrecision"></path><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0M12 8v4M12 16h.01" shape-rendering="geometricPrecision"></path></svg></button>');function io(e,t){W(t,!1),ht();var r=Ge(),n=C(r);I(n,()=>Xe.size>1,i=>{var o=no();o.__click=[ro],k(i,o)}),k(e,r),U()}Ve(["click"]);function oo(e){X.setIndex(Number(e.target.value))}var ao=N("<option> </option>"),so=N('<select class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm pl-4 pr-8 h-10 min-w-80 svelte-yqayp2" title="Select the active output"></select>'),lo=N('<div class="flex items-center justify-center space-x-2 max-w-sm"><!></div>');function uo(e,t){W(t,!1),ht();var r=lo(),n=w(r);I(n,()=>zt.length>0,i=>{var o=so();li(o,()=>X.index);var a;o.__change=[oo],Ut(o,5,()=>zt,Jn,(s,l,f)=>{var u=ao();u.value=(u.__value=f)==null?"":f;var c=w(u);R(()=>D(c,`${f+1}. ${_(l).root.name??""}`)),k(s,u)}),R(()=>{a!==(a=X.index)&&(o.value=(o.__value=X.index)==null?"":X.index,Rt(o,X.index))}),k(i,o)}),k(e,r),U()}Ve(["change"]);var fo=N('<a href="https://github.com/filipsobol/sonda" target="_blank" title="Open Sonda repository on GitHub" aria-label="GitHub repository" class="flex items-center text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 h-10"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-gray-900 pointer-events-none"><path d="M0 0h24v24H0z" stroke="none" shape-rendering="geometricPrecision"></path><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2 4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21" shape-rendering="geometricPrecision"></path></svg></a>');function co(e){var t=fo();k(e,t)}var vo=N('<div class="flex flex-row p-4 items-center space-y-0 h-16 justify-between bg-gray-50 shadow"><div class="flex flex-row space-x-2"><!> <!> <!></div> <div class="flex flex-row space-x-2"><!> <!></div></div>');function ho(e){var t=vo(),r=w(t),n=w(r);uo(n,{});var i=m(n,2);to(i,{});var o=m(i,2);io(o,{});var a=m(r,2),s=w(a);Xi(s,{});var l=m(s,2);co(l),k(e,t)}var _o=N('<div class="flex-grow flex flex-col mt-24 items-center w-full h-full"><svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="text-yellow-400 fill-yellow-100"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M12 21a9 9 0 1 1 0 -18a9 9 0 0 1 0 18z"></path><path d="M8 16l1 -1l1.5 1l1.5 -1l1.5 1l1.5 -1l1 1"></path><path d="M8.5 11.5l1.5 -1.5l-1.5 -1.5"></path><path d="M15.5 11.5l-1.5 -1.5l1.5 -1.5"></path></svg> <h2 class="mt-8 text-3xl font-semibold text-gray-800">No data to display</h2> <p class="mt-4 text-lg text-gray-500">Did you enable source maps in the bundler configuration?</p></div>');function po(e){var t=_o();k(e,t)}var go=N('<div role="tooltip" class="fixed z-10 px-2 py-1 bg-gray-800 text-gray-100 rounded-md whitespace-nowrap pointer-events-none svelte-1r0gq6x"> </div>');function wo(e){let r=G(0),n=G(0),i=G(0),o=G(0),a=G(""),s=G("0px"),l=G("0px");function f({target:d,clientX:v,clientY:h}){z(a,Q(d instanceof Element&&d.getAttribute("data-hover")||"")),_(a)&&(z(s,(v+_(r)+12>_(i)?v-_(r)-12:v+12)+"px"),z(l,(h+_(n)+12>_(o)?h-_(n):h+12)+"px"))}var u=go();Ee("mouseover",ae.body,f),Ee("mousemove",ae.body,f),Ee("mouseleave",ae.body,()=>z(a,""));var c=w(u);R(()=>{ot(u,"invisible",!_(a)),Mt(u,"--x",_(s)),Mt(u,"--y",_(l)),D(c,_(a))}),de(ae.body,"clientWidth",d=>z(i,Q(d))),de(ae.body,"clientHeight",d=>z(o,Q(d))),de(u,"clientWidth",d=>z(r,d)),de(u,"clientHeight",d=>z(n,d)),k(e,u)}var mo=N('<div role="application" class="wrapper relative flex flex-col overflow-hidden h-screen w-screen"><!> <div class="flex-grow overflow-hidden"><!></div></div> <!> <!>',1);function bo(e,t){W(t,!0);let r=G(0),n=G(0);function i({target:v}){const h=v instanceof Element&&v.getAttribute("data-tile");if(!h)return;const p=X.output.get(h);p&&Y.open(ge(p)?"folder":"file",p)}function o(v){v.key==="Escape"&&(v.stopPropagation(),Y.close())}var a=mo();Ee("click",ae.body,i),Ee("keydown",ae.body,o);var s=C(a),l=w(s);ho(l);var f=m(l,2),u=w(f);I(u,()=>X,v=>{qr(v,{get content(){return X.output.root},get width(){return _(r)},get height(){return _(n)}})},v=>{po(v)});var c=m(s,2);Ki(c,{});var d=m(c,2);wo(d),de(f,"clientWidth",v=>z(r,v)),de(f,"clientHeight",v=>z(n,v)),k(e,a),U()}Un(bo,{target:document.getElementById("app")});</script><style rel="stylesheet" crossorigin>rect.svelte-xusoaq{fill:color-mix(in oklch,#fca5a5 var(--percentage),#86efac)}rect.svelte-xusoaq:hover{fill:color-mix(in oklch,#fecaca var(--percentage),#bbf7d0)}button.active.svelte-2f0583,button.active.svelte-2f0583:hover{background-color:#e5e7eb}select.svelte-yqayp2{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path stroke="none" d="M0 0h24v24H0z"/><path d="m8 9 4-4 4 4M16 15l-4 4-4-4"/></svg>');background-position:right .5rem center;background-repeat:no-repeat}div[role=tooltip].svelte-1r0gq6x{transform:translate(var(--x),var(--y));will-change:transform,contents}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.size-full{width:100%;height:100%}.h-10{height:2.5rem}.h-16{height:4rem}.h-4{height:1rem}.h-\[95vh\]{height:95vh}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[95vh\]{max-height:95vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-4{width:1rem}.w-\[40rem\]{width:40rem}.w-\[95vw\]{width:95vw}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-80{min-width:20rem}.min-w-full{min-width:100%}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-\[-1px\]>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-200\/70{background-color:#e5e7ebb3}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71 / var(--tw-bg-opacity))}.fill-yellow-100{fill:#fef9c3}.stroke-gray-500{stroke:#6b7280}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-4{padding-left:1rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.text-center{text-align:center}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21 / var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}pre{line-height:1.125}.first\:rounded-s-lg:first-child{border-start-start-radius:.5rem;border-end-start-radius:.5rem}.last\:rounded-e-lg:last-child{border-start-end-radius:.5rem;border-end-end-radius:.5rem}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}.focus\:z-10:focus{z-index:10}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253 / var(--tw-ring-opacity))}</style></head><body class="flex w-screen h-screen font-mono"><div id="app" class="flex w-screen min-h-screen"></div></body></html>
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><link rel="icon" href="data:;base64,iVBORw0KGgo="/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Sonda report</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' fill='none'%3E%3Cpath fill='%23FACC15' d='M0 0h512v512H0V0Z'/%3E%3Cpath fill='%23000' d='m264.536 203.704-41.984 89.6-21.504-9.728c-20.139-9.216-35.669-21.504-46.592-36.864-10.923-15.36-16.384-37.717-16.384-67.072 0-37.547 9.728-65.536 29.184-83.968 19.797-18.773 52.395-28.33 97.792-28.672 18.773 0 35.84.853 51.2 2.56s27.648 3.584 36.864 5.632l13.824 2.56-10.24 82.432-12.8-1.536c-8.192-1.024-18.432-1.877-30.72-2.56-12.288-1.024-24.235-1.536-35.84-1.536-12.288 0-21.675 1.877-28.16 5.632-6.144 3.413-9.216 10.069-9.216 19.968 0 5.461 2.219 9.899 6.656 13.312 4.437 3.413 10.411 6.827 17.92 10.24Zm-18.432 100.864 42.496-90.624 22.016 9.728c23.211 10.24 40.107 23.04 50.688 38.4 10.581 15.019 15.872 36.523 15.872 64.512 0 37.888-9.899 67.072-29.696 87.552-19.797 20.48-52.395 30.891-97.792 31.232-22.528 0-43.52-1.536-62.976-4.608-19.456-2.731-36.693-5.973-51.712-9.728l10.24-82.432 12.288 2.048c8.533 1.365 19.797 2.731 33.792 4.096 13.995 1.365 29.355 2.048 46.08 2.048 12.971 0 22.699-1.877 29.184-5.632 6.485-3.755 9.728-9.899 9.728-18.432 0-5.803-1.536-10.411-4.608-13.824-3.072-3.413-8.533-6.827-16.384-10.24l-9.216-4.096Z'/%3E%3C/svg%3E"/><script>window.SONDA_JSON_REPORT = JSON.parse( decodeURIComponent( `__REPORT_DATA__` ) )</script><script type="module" crossorigin>var vn=Object.defineProperty;var ir=t=>{throw TypeError(t)};var hn=(t,e,r)=>e in t?vn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ke=(t,e,r)=>hn(t,typeof e!="symbol"?e+"":e,r),Ee=(t,e,r)=>e.has(t)||ir("Cannot "+r);var ut=(t,e,r)=>(Ee(t,e,"read from private field"),r?r.call(t):e.get(t)),Ht=(t,e,r)=>e.has(t)?ir("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Se=(t,e,r,n)=>(Ee(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),or=(t,e,r)=>(Ee(t,e,"access private method"),r);var Ue=Array.isArray,Ve=Array.from,pn=Object.defineProperty,Wt=Object.getOwnPropertyDescriptor,wr=Object.getOwnPropertyDescriptors,_n=Object.prototype,gn=Array.prototype,se=Object.getPrototypeOf;function wn(t){return typeof t=="function"}const At=()=>{};function bn(t){return t()}function Ae(t){for(var e=0;e<t.length;e++)t[e]()}const ct=2,br=4,Kt=8,pe=16,at=32,_e=64,Et=128,ae=256,J=512,mt=1024,Jt=2048,nt=4096,Yt=8192,mr=16384,Zt=32768,mn=1<<18,xr=1<<19,wt=Symbol("$state"),xn=Symbol("");function yr(t){return t===this.v}function kr(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function yn(t){return!kr(t,this.v)}function kn(t){throw new Error("effect_in_teardown")}function En(){throw new Error("effect_in_unowned_derived")}function Sn(t){throw new Error("effect_orphan")}function Tn(){throw new Error("effect_update_depth_exceeded")}function On(){throw new Error("state_descriptors_fixed")}function Mn(){throw new Error("state_prototype_fixed")}function An(){throw new Error("state_unsafe_local_read")}function Nn(){throw new Error("state_unsafe_mutation")}function X(t){return{f:0,v:t,reactions:null,equals:yr,version:0}}function U(t){return Dn(X(t))}function Cn(t,e=!1){var n;const r=X(t);return e||(r.equals=yn),L!==null&&L.l!==null&&((n=L.l).s??(n.s=[])).push(r),r}function Dn(t){return C!==null&&C.f&ct&&(it===null?Kn([t]):it.push(t)),t}function R(t,e){return C!==null&&Xe()&&C.f&(ct|pe)&&(it===null||!it.includes(t))&&Nn(),Ne(t,e)}function Ne(t,e){return t.equals(e)||(t.v=e,t.version=Hr(),Er(t,mt),Xe()&&M!==null&&M.f&J&&!(M.f&at)&&(H!==null&&H.includes(t)?(lt(M,mt),be(M)):bt===null?Jn([t]):bt.push(t))),e}function Er(t,e){var r=t.reactions;if(r!==null)for(var n=Xe(),i=r.length,o=0;o<i;o++){var s=r[o],a=s.f;a&mt||!n&&s===M||(lt(s,e),a&(J|Et)&&(a&ct?Er(s,Jt):be(s)))}}const Ge=1,Ke=2,Sr=4,zn=8,In=16,Pn=4,Rn=1,Bn=2,G=Symbol();let Tr=!1;function tt(t,e=null,r){if(typeof t!="object"||t===null||wt in t)return t;const n=se(t);if(n!==_n&&n!==gn)return t;var i=new Map,o=Ue(t),s=X(0);o&&i.set("length",X(t.length));var a;return new Proxy(t,{defineProperty(l,u,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&On();var v=i.get(u);return v===void 0?(v=X(f.value),i.set(u,v)):R(v,tt(f.value,a)),!0},deleteProperty(l,u){var f=i.get(u);if(f===void 0)u in l&&i.set(u,X(G));else{if(o&&typeof u=="string"){var v=i.get("length"),c=Number(u);Number.isInteger(c)&&c<v.v&&R(v,c)}R(f,G),sr(s)}return!0},get(l,u,f){var d;if(u===wt)return t;var v=i.get(u),c=u in l;if(v===void 0&&(!c||(d=Wt(l,u))!=null&&d.writable)&&(v=X(tt(c?l[u]:G,a)),i.set(u,v)),v!==void 0){var h=p(v);return h===G?void 0:h}return Reflect.get(l,u,f)},getOwnPropertyDescriptor(l,u){var f=Reflect.getOwnPropertyDescriptor(l,u);if(f&&"value"in f){var v=i.get(u);v&&(f.value=p(v))}else if(f===void 0){var c=i.get(u),h=c==null?void 0:c.v;if(c!==void 0&&h!==G)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return f},has(l,u){var h;if(u===wt)return!0;var f=i.get(u),v=f!==void 0&&f.v!==G||Reflect.has(l,u);if(f!==void 0||M!==null&&(!v||(h=Wt(l,u))!=null&&h.writable)){f===void 0&&(f=X(v?tt(l[u],a):G),i.set(u,f));var c=p(f);if(c===G)return!1}return v},set(l,u,f,v){var k;var c=i.get(u),h=u in l;if(o&&u==="length")for(var d=f;d<c.v;d+=1){var w=i.get(d+"");w!==void 0?R(w,G):d in l&&(w=X(G),i.set(d+"",w))}c===void 0?(!h||(k=Wt(l,u))!=null&&k.writable)&&(c=X(void 0),R(c,tt(f,a)),i.set(u,c)):(h=c.v!==G,R(c,tt(f,a)));var g=Reflect.getOwnPropertyDescriptor(l,u);if(g!=null&&g.set&&g.set.call(v,f),!h){if(o&&typeof u=="string"){var S=i.get("length"),y=Number(u);Number.isInteger(y)&&y>=S.v&&R(S,y+1)}sr(s)}return!0},ownKeys(l){p(s);var u=Reflect.ownKeys(l).filter(c=>{var h=i.get(c);return h===void 0||h.v!==G});for(var[f,v]of i)v.v!==G&&!(f in l)&&u.push(f);return u},setPrototypeOf(){Mn()}})}function sr(t,e=1){R(t,t.v+e)}function ar(t){return t!==null&&typeof t=="object"&&wt in t?t[wt]:t}function Ln(t,e){return Object.is(ar(t),ar(e))}var lr,ft,Or,Mr;function jn(){if(lr===void 0){lr=window,ft=document;var t=Element.prototype,e=Node.prototype;Or=Wt(e,"firstChild").get,Mr=Wt(e,"nextSibling").get,t.__click=void 0,t.__className="",t.__attributes=null,t.__styles=null,t.__e=void 0,Text.prototype.__t=void 0}}function Je(t=""){return document.createTextNode(t)}function It(t){return Or.call(t)}function ge(t){return Mr.call(t)}function b(t,e){return It(t)}function B(t,e){{var r=It(t);return r instanceof Comment&&r.data===""?ge(r):r}}function m(t,e=1,r=!1){let n=t;for(;e--;)n=ge(n);return n}function Fn(t){t.textContent=""}function T(t){var e=ct|mt;M===null?e|=Et:M.f|=xr;const r={children:null,ctx:L,deps:null,equals:yr,f:e,fn:t,reactions:null,v:null,version:0,parent:M};if(C!==null&&C.f&ct){var n=C;(n.children??(n.children=[])).push(r)}return r}function Ar(t){var e=t.children;if(e!==null){t.children=null;for(var r=0;r<e.length;r+=1){var n=e[r];n.f&ct?Ye(n):xt(n)}}}function Nr(t){var e,r=M;st(t.parent);try{Ar(t),e=qr(t)}finally{st(r)}return e}function Cr(t){var e=Nr(t),r=(Nt||t.f&Et)&&t.deps!==null?Jt:J;lt(t,r),t.equals(e)||(t.v=e,t.version=Hr())}function Ye(t){Ar(t),Vt(t,0),lt(t,Yt),t.v=t.children=t.deps=t.ctx=t.reactions=null}function Dr(t){M===null&&C===null&&Sn(),C!==null&&C.f&Et&&En(),Qe&&kn()}function Hn(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function Rt(t,e,r,n=!0){var i=(t&_e)!==0,o=M,s={ctx:L,deps:null,deriveds:null,nodes_start:null,nodes_end:null,f:t|mt,first:null,fn:e,last:null,next:null,parent:i?null:o,prev:null,teardown:null,transitions:null,version:0};if(r){var a=Ct;try{ur(!0),we(s),s.f|=mr}catch(f){throw xt(s),f}finally{ur(a)}}else e!==null&&be(s);var l=r&&s.deps===null&&s.first===null&&s.nodes_start===null&&s.teardown===null&&(s.f&xr)===0;if(!l&&!i&&n&&(o!==null&&Hn(s,o),C!==null&&C.f&ct)){var u=C;(u.children??(u.children=[])).push(s)}return s}function qn(t){const e=Rt(Kt,null,!1);return lt(e,J),e.teardown=t,e}function Ce(t){Dr();var e=M!==null&&(M.f&at)!==0&&L!==null&&!L.m;if(e){var r=L;(r.e??(r.e=[])).push({fn:t,effect:M,reaction:C})}else{var n=Bt(t);return n}}function Wn(t){return Dr(),zr(t)}function Un(t){const e=Rt(_e,t,!0);return()=>{xt(e)}}function Bt(t){return Rt(br,t,!1)}function zr(t){return Rt(Kt,t,!0)}function N(t){return Qt(t)}function Qt(t,e=0){return Rt(Kt|pe|e,t,!0)}function kt(t,e=!0){return Rt(Kt|at,t,!0,e)}function Ir(t){var e=t.teardown;if(e!==null){const r=Qe,n=C;fr(!0),ot(null);try{e.call(null)}finally{fr(r),ot(n)}}}function Pr(t){var e=t.deriveds;if(e!==null){t.deriveds=null;for(var r=0;r<e.length;r+=1)Ye(e[r])}}function Rr(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){var n=r.next;xt(r,e),r=n}}function Vn(t){for(var e=t.first;e!==null;){var r=e.next;e.f&at||xt(e),e=r}}function xt(t,e=!0){var r=!1;if((e||t.f&mn)&&t.nodes_start!==null){for(var n=t.nodes_start,i=t.nodes_end;n!==null;){var o=n===i?null:ge(n);n.remove(),n=o}r=!0}Rr(t,e&&!r),Pr(t),Vt(t,0),lt(t,Yt);var s=t.transitions;if(s!==null)for(const l of s)l.stop();Ir(t);var a=t.parent;a!==null&&a.first!==null&&Br(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.parent=t.fn=t.nodes_start=t.nodes_end=null}function Br(t){var e=t.parent,r=t.prev,n=t.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),e!==null&&(e.first===t&&(e.first=n),e.last===t&&(e.last=r))}function le(t,e){var r=[];Ze(t,r,!0),Lr(r,()=>{xt(t),e&&e()})}function Lr(t,e){var r=t.length;if(r>0){var n=()=>--r||e();for(var i of t)i.out(n)}else e()}function Ze(t,e,r){if(!(t.f&nt)){if(t.f^=nt,t.transitions!==null)for(const s of t.transitions)(s.is_global||r)&&e.push(s);for(var n=t.first;n!==null;){var i=n.next,o=(n.f&Zt)!==0||(n.f&at)!==0;Ze(n,e,o?r:!1),n=i}}}function ue(t){jr(t,!0)}function jr(t,e){if(t.f&nt){Xt(t)&&we(t),t.f^=nt;for(var r=t.first;r!==null;){var n=r.next,i=(r.f&Zt)!==0||(r.f&at)!==0;jr(r,i?e:!1),r=n}if(t.transitions!==null)for(const o of t.transitions)(o.is_global||e)&&o.in()}}let De=!1,ze=[];function Gn(){De=!1;const t=ze.slice();ze=[],Ae(t)}function Lt(t){De||(De=!0,queueMicrotask(Gn)),ze.push(t)}let fe=!1,Ct=!1,Qe=!1;function ur(t){Ct=t}function fr(t){Qe=t}let Ie=[],Ut=0;let C=null;function ot(t){C=t}let M=null;function st(t){M=t}let it=null;function Kn(t){it=t}let H=null,Q=0,bt=null;function Jn(t){bt=t}let Fr=0,Nt=!1,L=null;function Hr(){return++Fr}function Xe(){return L!==null&&L.l===null}function Xt(t){var s,a;var e=t.f;if(e&mt)return!0;if(e&Jt){var r=t.deps,n=(e&Et)!==0;if(r!==null){var i;if(e&ae){for(i=0;i<r.length;i++)((s=r[i]).reactions??(s.reactions=[])).push(t);t.f^=ae}for(i=0;i<r.length;i++){var o=r[i];if(Xt(o)&&Cr(o),n&&M!==null&&!Nt&&!((a=o==null?void 0:o.reactions)!=null&&a.includes(t))&&(o.reactions??(o.reactions=[])).push(t),o.version>t.version)return!0}}n||lt(t,J)}return!1}function Yn(t,e,r){throw t}function qr(t){var c;var e=H,r=Q,n=bt,i=C,o=Nt,s=it,a=L,l=t.f;H=null,Q=0,bt=null,C=l&(at|_e)?null:t,Nt=!Ct&&(l&Et)!==0,it=null,L=t.ctx;try{var u=(0,t.fn)(),f=t.deps;if(H!==null){var v;if(Vt(t,Q),f!==null&&Q>0)for(f.length=Q+H.length,v=0;v<H.length;v++)f[Q+v]=H[v];else t.deps=f=H;if(!Nt)for(v=Q;v<f.length;v++)((c=f[v]).reactions??(c.reactions=[])).push(t)}else f!==null&&Q<f.length&&(Vt(t,Q),f.length=Q);return u}finally{H=e,Q=r,bt=n,C=i,Nt=o,it=s,L=a}}function Zn(t,e){let r=e.reactions;if(r!==null){var n=r.indexOf(t);if(n!==-1){var i=r.length-1;i===0?r=e.reactions=null:(r[n]=r[i],r.pop())}}r===null&&e.f&ct&&(H===null||!H.includes(e))&&(lt(e,Jt),e.f&(Et|ae)||(e.f^=ae),Vt(e,0))}function Vt(t,e){var r=t.deps;if(r!==null)for(var n=e;n<r.length;n++)Zn(t,r[n])}function we(t){var e=t.f;if(!(e&Yt)){lt(t,J);var r=M;M=t;try{e&pe?Vn(t):Rr(t),Pr(t),Ir(t);var n=qr(t);t.teardown=typeof n=="function"?n:null,t.version=Fr}catch(i){Yn(i)}finally{M=r}}}function Qn(){Ut>1e3&&(Ut=0,Tn()),Ut++}function Xn(t){var e=t.length;if(e!==0){Qn();var r=Ct;Ct=!0;try{for(var n=0;n<e;n++){var i=t[n];i.f&J||(i.f^=J);var o=[];Wr(i,o),$n(o)}}finally{Ct=r}}}function $n(t){var e=t.length;if(e!==0)for(var r=0;r<e;r++){var n=t[r];!(n.f&(Yt|nt))&&Xt(n)&&(we(n),n.deps===null&&n.first===null&&n.nodes_start===null&&(n.teardown===null?Br(n):n.fn=null))}}function ti(){if(fe=!1,Ut>1001)return;const t=Ie;Ie=[],Xn(t),fe||(Ut=0)}function be(t){fe||(fe=!0,queueMicrotask(ti));for(var e=t;e.parent!==null;){e=e.parent;var r=e.f;if(r&(_e|at)){if(!(r&J))return;e.f^=J}}Ie.push(e)}function Wr(t,e){var r=t.first,n=[];t:for(;r!==null;){var i=r.f,o=(i&at)!==0,s=o&&(i&J)!==0;if(!s&&!(i&nt))if(i&Kt){o?r.f^=J:Xt(r)&&we(r);var a=r.first;if(a!==null){r=a;continue}}else i&br&&n.push(r);var l=r.next;if(l===null){let v=r.parent;for(;v!==null;){if(t===v)break t;var u=v.next;if(u!==null){r=u;continue t}v=v.parent}}r=l}for(var f=0;f<n.length;f++)a=n[f],e.push(a),Wr(a,e)}function p(t){var a;var e=t.f,r=(e&ct)!==0;if(r&&e&Yt){var n=Nr(t);return Ye(t),n}if(C!==null){it!==null&&it.includes(t)&&An();var i=C.deps;H===null&&i!==null&&i[Q]===t?Q++:H===null?H=[t]:H.push(t),bt!==null&&M!==null&&M.f&J&&!(M.f&at)&&bt.includes(t)&&(lt(M,mt),be(M))}else if(r&&t.deps===null){var o=t,s=o.parent;s!==null&&!((a=s.deriveds)!=null&&a.includes(o))&&(s.deriveds??(s.deriveds=[])).push(o)}return r&&(o=t,Xt(o)&&Cr(o)),t.v}function $t(t){const e=C;try{return C=null,t()}finally{C=e}}const ei=~(mt|Jt|J);function lt(t,e){t.f=t.f&ei|e}function q(t,e=!1,r){L={p:L,c:null,e:null,m:!1,s:t,x:null,l:null},e||(L.l={s:null,u:null,r1:[],r2:X(!1)})}function W(t){const e=L;if(e!==null){const s=e.e;if(s!==null){var r=M,n=C;e.e=null;try{for(var i=0;i<s.length;i++){var o=s[i];st(o.effect),ot(o.reaction),Bt(o.fn)}}finally{st(r),ot(n)}}L=e.p,e.m=!0}return{}}function ri(t){if(!(typeof t!="object"||!t||t instanceof EventTarget)){if(wt in t)Pe(t);else if(!Array.isArray(t))for(let e in t){const r=t[e];typeof r=="object"&&r&&wt in r&&Pe(r)}}}function Pe(t,e=new Set){if(typeof t=="object"&&t!==null&&!(t instanceof EventTarget)&&!e.has(t)){e.add(t),t instanceof Date&&t.getTime();for(let n in t)try{Pe(t[n],e)}catch{}const r=se(t);if(r!==Object.prototype&&r!==Array.prototype&&r!==Map.prototype&&r!==Set.prototype&&r!==Date.prototype){const n=wr(r);for(let i in n){const o=n[i].get;if(o)try{o.call(t)}catch{}}}}}const Ur=new Set,Re=new Set;function Be(t,e,r,n){function i(o){if(n.capture||qt.call(e,o),!o.cancelBubble){var s=C,a=M;ot(null),st(null);try{return r.call(this,o)}finally{ot(s),st(a)}}}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Lt(()=>{e.addEventListener(t,i,n)}):e.addEventListener(t,i,n),i}function Dt(t,e,r,n,i){var o={capture:n,passive:i},s=Be(t,e,r,o);(e===document.body||e===window||e===document)&&qn(()=>{e.removeEventListener(t,s,o)})}function St(t){for(var e=0;e<t.length;e++)Ur.add(t[e]);for(var r of Re)r(t)}function qt(t){var y;var e=this,r=e.ownerDocument,n=t.type,i=((y=t.composedPath)==null?void 0:y.call(t))||[],o=i[0]||t.target,s=0,a=t.__root;if(a){var l=i.indexOf(a);if(l!==-1&&(e===document||e===window)){t.__root=e;return}var u=i.indexOf(e);if(u===-1)return;l<=u&&(s=l)}if(o=i[s]||t.target,o!==e){pn(t,"currentTarget",{configurable:!0,get(){return o||r}});var f=C,v=M;ot(null),st(null);try{for(var c,h=[];o!==null;){var d=o.assignedSlot||o.parentNode||o.host||null;try{var w=o["__"+n];if(w!==void 0&&!o.disabled)if(Ue(w)){var[g,...S]=w;g.apply(o,[t,...S])}else w.call(o,t)}catch(k){c?h.push(k):c=k}if(t.cancelBubble||d===e||d===null)break;o=d}if(c){for(let k of h)queueMicrotask(()=>{throw k});throw c}}finally{t.__root=e,delete t.currentTarget,ot(f),st(v)}}}function Vr(t){var e=document.createElement("template");return e.innerHTML=t,e.content}function ce(t,e){var r=M;r.nodes_start===null&&(r.nodes_start=t,r.nodes_end=e)}function A(t,e){var r=(e&Rn)!==0,n=(e&Bn)!==0,i,o=!t.startsWith("<!>");return()=>{i===void 0&&(i=Vr(o?t:"<!>"+t),r||(i=It(i)));var s=n?document.importNode(i,!0):i.cloneNode(!0);if(r){var a=It(s),l=s.lastChild;ce(a,l)}else ce(s,s);return s}}function te(t,e,r="svg"){var n=!t.startsWith("<!>"),i=`<${r}>${n?t:"<!>"+t}</${r}>`,o;return()=>{if(!o){var s=Vr(i),a=It(s);o=It(a)}var l=o.cloneNode(!0);return ce(l,l),l}}function jt(){var t=document.createDocumentFragment(),e=document.createComment(""),r=Je();return t.append(e,r),ce(e,r),t}function E(t,e){t!==null&&t.before(e)}function ni(t){return t.endsWith("capture")&&t!=="gotpointercapture"&&t!=="lostpointercapture"}const ii=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function oi(t){return ii.includes(t)}const si={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly"};function ai(t){return t=t.toLowerCase(),si[t]??t}const li=["touchstart","touchmove"];function ui(t){return li.includes(t)}let Le=!0;function D(t,e){var r=e==null?"":typeof e=="object"?e+"":e;r!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=r,t.nodeValue=r==null?"":r+"")}function fi(t,e){return ci(t,e)}const Mt=new Map;function ci(t,{target:e,anchor:r,props:n={},events:i,context:o,intro:s=!0}){jn();var a=new Set,l=v=>{for(var c=0;c<v.length;c++){var h=v[c];if(!a.has(h)){a.add(h);var d=ui(h);e.addEventListener(h,qt,{passive:d});var w=Mt.get(h);w===void 0?(document.addEventListener(h,qt,{passive:d}),Mt.set(h,1)):Mt.set(h,w+1)}}};l(Ve(Ur)),Re.add(l);var u=void 0,f=Un(()=>{var v=r??e.appendChild(Je());return kt(()=>{if(o){q({});var c=L;c.c=o}i&&(n.$$events=i),Le=s,u=t(v,n)||{},Le=!0,o&&W()}),()=>{var d;for(var c of a){e.removeEventListener(c,qt);var h=Mt.get(c);--h===0?(document.removeEventListener(c,qt),Mt.delete(c)):Mt.set(c,h)}Re.delete(l),cr.delete(u),v!==r&&((d=v.parentNode)==null||d.removeChild(v))}});return cr.set(u,f),u}let cr=new WeakMap;function P(t,e,r,n=null,i=!1){var o=t,s=null,a=null,l=null,u=i?Zt:0;Qt(()=>{l!==(l=!!e())&&(l?(s?ue(s):s=kt(()=>r(o)),a&&le(a,()=>{a=null})):(a?ue(a):n&&(a=kt(()=>n(o))),s&&le(s,()=>{s=null})))},u)}function di(t,e,r){var n=t,i=G,o;Qt(()=>{kr(i,i=e())&&(o&&le(o),o=kt(()=>r(n)))})}let Te=null;function Gr(t,e){return e}function vi(t,e,r,n){for(var i=[],o=e.length,s=0;s<o;s++)Ze(e[s].e,i,!0);var a=o>0&&i.length===0&&r!==null;if(a){var l=r.parentNode;Fn(l),l.append(r),n.clear(),ht(t,e[0].prev,e[o-1].next)}Lr(i,()=>{for(var u=0;u<o;u++){var f=e[u];a||(n.delete(f.k),ht(t,f.prev,f.next)),xt(f.e,!a)}})}function me(t,e,r,n,i,o=null){var s=t,a={flags:e,items:new Map,first:null},l=(e&Sr)!==0;if(l){var u=t;s=u.appendChild(Je())}var f=null,v=!1;Qt(()=>{var c=r(),h=Ue(c)?c:c==null?[]:Ve(c),d=h.length;if(!(v&&d===0)){v=d===0;{var w=C;hi(h,a,s,i,e,(w.f&nt)!==0,n)}o!==null&&(d===0?f?ue(f):f=kt(()=>o(s)):f!==null&&le(f,()=>{f=null})),r()}})}function hi(t,e,r,n,i,o,s){var re,ne,rt,V;var a=(i&zn)!==0,l=(i&(Ge|Ke))!==0,u=t.length,f=e.items,v=e.first,c=v,h,d=null,w,g=[],S=[],y,k,_,x;if(a)for(x=0;x<u;x+=1)y=t[x],k=s(y,x),_=f.get(k),_!==void 0&&((re=_.a)==null||re.measure(),(w??(w=new Set)).add(_));for(x=0;x<u;x+=1){if(y=t[x],k=s(y,x),_=f.get(k),_===void 0){var O=c?c.e.nodes_start:r;d=_i(O,e,d,d===null?e.first:d.next,y,k,x,n,i),f.set(k,d),g=[],S=[],c=d.next;continue}if(l&&pi(_,y,x,i),_.e.f&nt&&(ue(_.e),a&&((ne=_.a)==null||ne.unfix(),(w??(w=new Set)).delete(_))),_!==c){if(h!==void 0&&h.has(_)){if(g.length<S.length){var z=S[0],I;d=z.prev;var Y=g[0],$=g[g.length-1];for(I=0;I<g.length;I+=1)dr(g[I],z,r);for(I=0;I<S.length;I+=1)h.delete(S[I]);ht(e,Y.prev,$.next),ht(e,d,Y),ht(e,$,z),c=z,d=$,x-=1,g=[],S=[]}else h.delete(_),dr(_,c,r),ht(e,_.prev,_.next),ht(e,_,d===null?e.first:d.next),ht(e,d,_),d=_;continue}for(g=[],S=[];c!==null&&c.k!==k;)(o||!(c.e.f&nt))&&(h??(h=new Set)).add(c),S.push(c),c=c.next;if(c===null)continue;_=c}g.push(_),d=_,c=_.next}if(c!==null||h!==void 0){for(var dt=h===void 0?[]:Ve(h);c!==null;)(o||!(c.e.f&nt))&&dt.push(c),c=c.next;var Tt=dt.length;if(Tt>0){var ye=i&Sr&&u===0?r:null;if(a){for(x=0;x<Tt;x+=1)(rt=dt[x].a)==null||rt.measure();for(x=0;x<Tt;x+=1)(V=dt[x].a)==null||V.fix()}vi(e,dt,ye,f)}}a&&Lt(()=>{var Z;if(w!==void 0)for(_ of w)(Z=_.a)==null||Z.apply()}),M.first=e.first&&e.first.e,M.last=d&&d.e}function pi(t,e,r,n){n&Ge&&Ne(t.v,e),n&Ke?Ne(t.i,r):t.i=r}function _i(t,e,r,n,i,o,s,a,l){var u=Te;try{var f=(l&Ge)!==0,v=(l&In)===0,c=f?v?Cn(i):X(i):i,h=l&Ke?X(s):s,d={i:h,v:c,k:o,a:null,e:null,prev:r,next:n};return Te=d,d.e=kt(()=>a(t,c,h),Tr),d.e.prev=r&&r.e,d.e.next=n&&n.e,r===null?e.first=d:(r.next=d,r.e.next=d.e),n!==null&&(n.prev=d,n.e.prev=d.e),d}finally{Te=u}}function dr(t,e,r){for(var n=t.next?t.next.e.nodes_start:r,i=e?e.e.nodes_start:r,o=t.e.nodes_start;o!==n;){var s=ge(o);i.before(o),o=s}}function ht(t,e,r){e===null?t.first=r:(e.next=r,e.e.next=r&&r.e),r!==null&&(r.prev=e,r.e.prev=e&&e.e)}function gi(t,e,...r){var n=t,i=At,o;Qt(()=>{i!==(i=e())&&(o&&(xt(o),o=null),o=kt(()=>i(n,...r)))},Zt)}function wi(t,e){if(e){const r=document.body;t.autofocus=!0,Lt(()=>{document.activeElement===r&&t.focus()})}}function j(t,e,r,n){var i=t.__attributes??(t.__attributes={});i[e]!==(i[e]=r)&&(e==="style"&&"__styles"in t&&(t.__styles={}),e==="loading"&&(t[xn]=r),r==null?t.removeAttribute(e):typeof r!="string"&&Kr(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function $e(t,e,r,n,i=!1,o=!1,s=!1){var a=e||{},l=t.tagName==="OPTION";for(var u in e)u in r||(r[u]=null);var f=Kr(t),v=t.__attributes??(t.__attributes={}),c=[];for(const y in r){let k=r[y];if(l&&y==="value"&&k==null){t.value=t.__value="",a[y]=k;continue}var h=a[y];if(k!==h){a[y]=k;var d=y[0]+y[1];if(d!=="$$"){if(d==="on"){const _={},x="$$"+y;let O=y.slice(2);var w=oi(O);if(ni(O)&&(O=O.slice(0,-7),_.capture=!0),!w&&h){if(k!=null)continue;t.removeEventListener(O,a[x],_),a[x]=null}if(k!=null)if(w)t[`__${O}`]=k,St([O]);else{let z=function(I){a[y].call(this,I)};var S=z;e?a[x]=Be(O,t,z,_):c.push([y,k,()=>a[x]=Be(O,t,z,_)])}}else if(y==="style"&&k!=null)t.style.cssText=k+"";else if(y==="autofocus")wi(t,!!k);else if(y==="__value"||y==="value"&&k!=null)t.value=t[y]=t.__value=k;else{var g=y;i||(g=ai(g)),k==null&&!o?(v[y]=null,t.removeAttribute(y)):f.includes(g)&&(o||typeof k!="string")?t[g]=k:typeof k!="function"&&j(t,g,k)}y==="style"&&"__styles"in t&&(t.__styles={})}}}return e||Lt(()=>{if(t.isConnected)for(const[y,k,_]of c)a[y]===k&&_()}),a}var vr=new Map;function Kr(t){var e=vr.get(t.nodeName);if(e)return e;vr.set(t.nodeName,e=[]);for(var r,n=se(t),i=Element.prototype;i!==n;){r=wr(n);for(var o in r)r[o].set&&e.push(o);n=se(n)}return e}function bi(t,e){var r=t.__className,n=mi(e);(r!==n||Tr)&&(n===""?t.removeAttribute("class"):t.setAttribute("class",n),t.__className=n)}function mi(t){return t??""}function de(t,e,r){if(r){if(t.classList.contains(e))return;t.classList.add(e)}else{if(!t.classList.contains(e))return;t.classList.remove(e)}}function je(t,e,r,n){var i=t.__styles??(t.__styles={});i[e]!==r&&(i[e]=r,r==null?t.style.removeProperty(e):t.style.setProperty(e,r,""))}const xi=()=>performance.now(),_t={tick:t=>requestAnimationFrame(t),now:()=>xi(),tasks:new Set};function Jr(t){_t.tasks.forEach(e=>{e.c(t)||(_t.tasks.delete(e),e.f())}),_t.tasks.size!==0&&_t.tick(Jr)}function yi(t){let e;return _t.tasks.size===0&&_t.tick(Jr),{promise:new Promise(r=>{_t.tasks.add(e={c:t,f:r})}),abort(){_t.tasks.delete(e)}}}function ie(t,e){t.dispatchEvent(new CustomEvent(e))}function ki(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;const e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function hr(t){const e={},r=t.split(";");for(const n of r){const[i,o]=n.split(":");if(!i||o===void 0)break;const s=ki(i.trim());e[s]=o.trim()}return e}const Ei=t=>t;function Si(t,e,r,n){var i=(t&Pn)!==0,o="both",s,a=e.inert,l,u;function f(){var w=C,g=M;ot(null),st(null);try{return s??(s=r()(e,(n==null?void 0:n())??{},{direction:o}))}finally{ot(w),st(g)}}var v={is_global:i,in(){e.inert=a,ie(e,"introstart"),l=Fe(e,f(),u,1,()=>{ie(e,"introend"),l==null||l.abort(),l=s=void 0})},out(w){e.inert=!0,ie(e,"outrostart"),u=Fe(e,f(),l,0,()=>{ie(e,"outroend"),w==null||w()})},stop:()=>{l==null||l.abort(),u==null||u.abort()}},c=M;if((c.transitions??(c.transitions=[])).push(v),Le){var h=i;if(!h){for(var d=c.parent;d&&d.f&Zt;)for(;(d=d.parent)&&!(d.f&pe););h=!d||(d.f&mr)!==0}h&&Bt(()=>{$t(()=>v.in())})}}function Fe(t,e,r,n,i){var o=n===1;if(wn(e)){var s,a=!1;return Lt(()=>{if(!a){var g=e({direction:o?"in":"out"});s=Fe(t,g,r,n,i)}}),{abort:()=>{a=!0,s==null||s.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(r==null||r.deactivate(),!(e!=null&&e.duration))return i(),{abort:At,deactivate:At,reset:At,t:()=>n};const{delay:l=0,css:u,tick:f,easing:v=Ei}=e;var c=[];if(o&&r===void 0&&(f&&f(0,1),u)){var h=hr(u(0,1));c.push(h,h)}var d=()=>1-n,w=t.animate(c,{duration:l});return w.onfinish=()=>{var g=(r==null?void 0:r.t())??1-n;r==null||r.abort();var S=n-g,y=e.duration*Math.abs(S),k=[];if(y>0){if(u)for(var _=Math.ceil(y/16.666666666666668),x=0;x<=_;x+=1){var O=g+S*v(x/_),z=u(O,1-O);k.push(hr(z))}d=()=>{var I=w.currentTime;return g+S*v(I/y)},f&&yi(()=>{if(w.playState!=="running")return!1;var I=d();return f(I,1-I),!0})}w=t.animate(k,{duration:y,fill:"forwards"}),w.onfinish=()=>{d=()=>n,f==null||f(n,1-n),i()}},{abort:()=>{w&&(w.cancel(),w.effect=null,w.onfinish=At)},deactivate:()=>{i=At},reset:()=>{n===0&&(f==null||f(1,0))},t:()=>d()}}function He(t,e,r){if(t.multiple)return Oi(t,e);for(var n of t.options){var i=Yr(n);if(Ln(i,e)){n.selected=!0;return}}(!r||e!==void 0)&&(t.selectedIndex=-1)}function Ti(t,e){let r=!0;Bt(()=>{e&&He(t,$t(e),r),r=!1;var n=new MutationObserver(()=>{var i=t.__value;He(t,i)});return n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),()=>{n.disconnect()}})}function Oi(t,e){for(var r of t.options)r.selected=~e.indexOf(Yr(r))}function Yr(t){return"__value"in t?t.__value:t.value}var pt,zt,Gt,ve,Zr;const he=class he{constructor(e){Ht(this,ve);Ht(this,pt,new WeakMap);Ht(this,zt);Ht(this,Gt);Se(this,Gt,e)}observe(e,r){var n=ut(this,pt).get(e)||new Set;return n.add(r),ut(this,pt).set(e,n),or(this,ve,Zr).call(this).observe(e,ut(this,Gt)),()=>{var i=ut(this,pt).get(e);i.delete(r),i.size===0&&(ut(this,pt).delete(e),ut(this,zt).unobserve(e))}}};pt=new WeakMap,zt=new WeakMap,Gt=new WeakMap,ve=new WeakSet,Zr=function(){return ut(this,zt)??Se(this,zt,new ResizeObserver(e=>{for(var r of e){he.entries.set(r.target,r);for(var n of ut(this,pt).get(r.target)||[])n(r)}}))},ke(he,"entries",new WeakMap);let qe=he;var Mi=new qe({box:"border-box"});function gt(t,e,r){var n=Mi.observe(t,()=>r(t[e]));Bt(()=>($t(()=>r(t[e])),n))}function pr(t,e){return t===e||(t==null?void 0:t[wt])===e}function Qr(t={},e,r,n){return Bt(()=>{var i,o;return zr(()=>{i=o,o=[],$t(()=>{t!==r(...o)&&(e(t,...o),i&&pr(r(...i),t)&&e(null,...i))})}),()=>{Lt(()=>{o&&pr(r(...o),t)&&e(null,...o)})}}),t}function xe(t=!1){const e=L,r=e.l.u;if(!r)return;let n=()=>ri(e.s);if(t){let i=0,o={};const s=T(()=>{let a=!1;const l=e.s;for(const u in l)l[u]!==o[u]&&(o[u]=l[u],a=!0);return a&&i++,i});n=()=>p(s)}r.b.length&&Wn(()=>{_r(e,n),Ae(r.b)}),Ce(()=>{const i=$t(()=>r.m.map(bn));return()=>{for(const o of i)typeof o=="function"&&o()}}),r.a.length&&Ce(()=>{_r(e,n),Ae(r.a)})}function _r(t,e){if(t.l.s)for(const r of t.l.s)p(r);e()}const Ai={get(t,e){if(!t.exclude.includes(e))return t.props[e]},set(t,e){return!1},getOwnPropertyDescriptor(t,e){if(!t.exclude.includes(e)&&e in t.props)return{enumerable:!0,configurable:!0,value:t.props[e]}},has(t,e){return t.exclude.includes(e)?!1:e in t.props},ownKeys(t){return Reflect.ownKeys(t.props).filter(e=>!t.exclude.includes(e))}};function tr(t,e,r){return new Proxy({props:t,exclude:e},Ai)}const Ni="5";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ni);var Ci=te('<svg><path d="M0 0h24v24H0z" stroke="none"></path><path d="M18 6 6 18M6 6l12 12"></path></svg>');function Di(t,e){let r=tr(e,["$$slots","$$events","$$legacy"]);var n=Ci();let i;N(()=>i=$e(n,i,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...r},void 0,!0)),E(t,n)}const zi=t=>t;function Ii(t,{delay:e=0,duration:r=400,easing:n=zi}={}){const i=+getComputedStyle(t).opacity;return{delay:e,duration:r,easing:n,css:o=>`opacity: ${o*i}`}}function Pi(){let t=U("uncompressed");return{get type(){return p(t)},setType(e){R(t,tt(e))}}}function Ri(){let t=tt({file:null,folder:null,output:null,duplicates:null,code:null}),e=tt([]);return{get file(){return t.file},get folder(){return t.folder},get output(){return t.output},get duplicates(){return t.duplicates},get code(){return t.code},open(r,n){e.push(r),t[r]=n},close(){e.length!==0&&(t[e.pop()]=null)}}}function Bi(t){return Object.entries(t.outputs).map(([e,r])=>{const n=new Li;return Object.entries(r.inputs).forEach(([i,o])=>n.insert(i,o)),n.root.name=e,n.root.map=r.map,n.root.uncompressed=r.uncompressed,n.root.gzip=r.gzip,n.root.brotli=r.brotli,n.optimize(),n})}function yt(t){return"items"in t}class Li{constructor(){ke(this,"root");this.root=this.createNode("","")}createNode(e,r){return{name:e,path:r,uncompressed:0,gzip:0,brotli:0,items:[]}}insert(e,r){const n=e.split("/"),i=n.pop();let o=this.root;n.forEach(s=>{let a=o.items.find(l=>yt(l)&&l.name===s);a||(a=this.createNode(s,o.path?`${o.path}/${s}`:s),o.items.push(a)),o=a,o.uncompressed+=r.uncompressed,o.gzip+=r.gzip,o.brotli+=r.brotli}),o.items.push({name:i,path:o.path?`${o.path}/${i}`:i,uncompressed:r.uncompressed,gzip:r.gzip,brotli:r.brotli})}optimize(){const e=[this.root];for(;e.length;){const r=e.pop();for(;r.items.length===1&&yt(r.items[0]);){const n=r.items[0];r.name=`${r.name}/${n.name}`,r.path=n.path,r.items=n.items}r.items.sort((n,i)=>i.uncompressed-n.uncompressed),r.items.forEach(n=>yt(n)&&e.push(n))}}get(e){let r=this.root;for(;r&&r.path!==e;)r=yt(r)&&r.items.find(n=>e.startsWith(n.path))||null;return r}}const We=Bi(window.SONDA_JSON_REPORT);function ji(){let t=U(0);const e=T(()=>We.at(p(t)));return{get index(){return p(t)},get output(){return p(e)},setIndex(r){R(t,tt(r))}}}const Fi=/(.*)(?:.*node_modules\/)(@[^\/]+\/[^\/]+|[^\/]+)/,Hi=Object.keys(window.SONDA_JSON_REPORT.inputs).map(t=>Fi.exec(t)).filter(t=>t!==null).reduce((t,e)=>{const[r,,n]=e;return t.has(n)||t.set(n,new Set),t.get(n).add(r),t},new Map),oe=new Map(Array.from(Hi).filter(([,t])=>t.size>1).map(([t,e])=>[t,Array.from(e)])),K=ji(),Pt=Pi(),F=Ri();var qi=()=>F.close(),Wi=A('<div class="fixed top-0 right-0 left-0 bottom-0 flex justify-center items-center"><div class="fixed bg-gray-200/70 w-full h-full backdrop-blur-sm" aria-hidden="true"></div> <div class="bg-white relative flex flex-col rounded-lg border p-6 shadow-lg overflow-hidden max-h-[95vh] max-w-[95vw]"><div class="mb-4"><h2 class="py-2 pr-6 block align-text-bottom font-semibold leading-none tracking-tight text-base border-b-2 border-gray-300 border-dashed"> </h2> <button aria-label="Close dialog" class="absolute top-0 right-0 mt-2 mr-2 flex justify-center items-center border border-transparent rounded-full w-10 h-10 text-gray-600 hover:text-gray-900"><!></button></div> <!></div></div>');function ee(t,e){q(e,!0);let r=U(void 0);function n(h){h.target===p(r)&&F.close()}var i=Wi();Dt("click",ft.body,n);var o=b(i);Qr(o,h=>R(r,h),()=>p(r));var s=m(o,2),a=b(s),l=b(a),u=b(l),f=m(l,2);f.__click=[qi];var v=b(f);Di(v,{});var c=m(a,2);gi(c,()=>e.children),N(()=>{de(s,"w-[95vw]",e.large),de(s,"h-[95vh]",e.large),D(u,e.heading)}),Si(3,i,()=>Ii,()=>({duration:150})),E(t,i),W()}St(["click"]);var Ui=A('<div class="p-4 mb-8 text-sm text-red-800 rounded-lg bg-red-50 svelte-ls0uun" role="alert"><p class="font-bold svelte-ls0uun">Your browser does not support the <a class="underline svelte-ls0uun" href="https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API">CSS Custom Highlight API</a>.</p> <p class="mt-4 svelte-ls0uun">To use this feature, please update your browser to a version that supports it, or use a different browser. See the <a class="underline svelte-ls0uun" href="https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API#browser_compatibility">Browser Compatibility page</a> for more information.</p></div>'),Vi=A(`
|
|
2
|
+
<span class="border-r border-slate-300 text-right pr-2 svelte-ls0uun"></span>
|
|
3
|
+
`,1),Gi=A(`<p class="svelte-ls0uun">Code included in the bundle is highlighted</p> <pre class="h-full mt-2 p-4 w-full leading-5 bg-slate-100 text-slate-600 rounded overflow-auto text-xs flex svelte-ls0uun">
|
|
4
|
+
<div class="line-numbers flex flex-col flex-shrink mr-2 select-none text-slate-400 svelte-ls0uun">
|
|
5
|
+
<!>
|
|
6
|
+
</div>
|
|
7
|
+
<code class="svelte-ls0uun"> </code>
|
|
8
|
+
</pre>`,1),Ki=A('<div class="h-full flex flex-col overflow-auto p-1 svelte-ls0uun"><!></div>');function Ji(t,e){q(e,!0);let r=U(void 0);const n=T(()=>K.output.root.map),i=T(()=>{var l;return((l=p(n))==null?void 0:l.sources.indexOf(e.file.path))??-1}),o=T(()=>p(i)>=0?p(n).sourcesContent[p(i)]:null),s=T(()=>{var l;return((l=p(o))==null?void 0:l.split(new RegExp("(?<=\\r?\\n)")))??[]}),a=T(()=>"CSS"in window&&"highlights"in window.CSS);Ce(()=>{if(!p(o)||!p(a))return;const l=new Highlight,u=p(r).firstChild,f=p(s).reduce((v,c)=>(v.push(v[v.length-1]+c.length),v),[0]);p(n).mappings.flat().filter(v=>v[1]===p(i)).forEach((v,c,h)=>{const[,,d,w]=v,g=h[c+1],S=f[d],y=S+w,k=d===(g==null?void 0:g[2])?g[3]+S:f[d+1],_=new Range;_.setStart(u,y),_.setEnd(u,k),l.add(_)}),CSS.highlights.set("used-code",l)}),ee(t,{get heading(){return e.file.path},large:!0,children:u=>{var f=Ki(),v=b(f);P(v,()=>!p(a),c=>{var h=Ui();E(c,h)},c=>{var h=jt(),d=B(h);P(d,()=>p(o),w=>{var g=Gi(),S=m(B(g),2),y=m(b(S)),k=m(b(y));me(k,17,()=>p(s),Gr,(O,z,I)=>{var Y=Vi(),$=m(B(Y));$.textContent=I,E(O,Y)});var _=m(y,2),x=b(_);Qr(_,O=>R(r,O),()=>p(r)),N(()=>D(x,p(o))),E(w,g)},null,!0),E(c,h)}),E(u,f)},$$slots:{default:!0}}),W()}class er{static generate(e,r){return this.processItems(e,r).join(`
|
|
9
|
+
`).trim()}static processItems(e,r=null,n=""){const i=[],o=e.length-1;return e.forEach((s,a)=>{const l=a===o,u=l?"└── ":"├── ",[f,v]=typeof s=="string"?[s,s]:s,c=r==null?void 0:r(f,e);if(i.push(n+u+v),c){const h=l?" ":"│ ";return i.push(...this.processItems(c,r,n+h))}if(l)return i.push(n)}),i}}var Yi=A('<p>The following dependencies are duplicated:</p> <pre class="mt-2 p-4 w-max leading-5 bg-slate-100 rounded overflow-auto min-w-full"><code> </code></pre>',1);function Zi(t,e){q(e,!0);const r=T(()=>er.generate(Array.from(oe.keys()),n=>oe.get(n)));ee(t,{heading:"Duplicated modules found in the build",children:i=>{var o=jt(),s=B(o);P(s,()=>oe.size>0,a=>{var l=Yi(),u=m(B(l),2),f=b(u),v=b(f);N(()=>D(v,p(r))),E(a,l)}),E(i,o)},$$slots:{default:!0}}),W()}const Qi=["b","KiB","MiB","GiB","TiB","PiB"],Xi=["ms","s"];function Xr(t,e,r){let n=r,i=0;for(;n>e&&t.length>i+1;)n=n/e,i++;return`${i?n.toFixed(2):n} ${t[i]}`}function et(t){return Xr(Qi,1024,t)}function Oe(t){return Xr(Xi,1e3,t)}var $i=A('<span>File format</span> <span class="font-bold text-right"> </span>',1),to=A('<span>Approx. GZIP size</span> <span class="font-bold text-right"> </span>',1),eo=A('<span>Approx. Brotli size</span> <span class="font-bold text-right"> </span>',1),ro=A('<p class="mt-8">This file is in the bundle, because it is:</p> <pre class="mt-2 p-4 w-full leading-5 bg-slate-100 rounded overflow-auto text-sm"><code> </code></pre>',1),no=(t,e)=>F.open("code",e.file),io=A('<div class="mt-8"><button type="button" class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 h-10">Show used code</button></div>'),oo=A('<div class="flex flex-col overflow-auto p-1"><div class="grid grid-cols-[auto_1fr] gap-x-12 max-w-[400px]"><!> <span>Original file size</span> <span class="font-bold text-right"> </span> <span>Bundled size</span> <span class="font-bold text-right"> </span> <!> <!></div> <!> <!></div>');function so(t,e){q(e,!0);const r=T(()=>window.SONDA_JSON_REPORT.inputs[e.file.path]),n=T(()=>{var a;return((a=p(r))==null?void 0:a.format.toUpperCase())??"UNKNOWN"}),i=T(()=>{var a;return(a=K.output.root.map)==null?void 0:a.sources.includes(e.file.path)});function o(a,l){return l.length>1?[]:Object.entries(window.SONDA_JSON_REPORT.inputs).filter(([,u])=>u.imports.includes(a)).map(([u])=>[u,`imported by ${u}`])}const s=T(()=>{if(!p(r))return null;const a=p(r).belongsTo?[[p(r).belongsTo,`part of the ${p(r).belongsTo} bundle`]]:o(e.file.path,[]);return er.generate(a,o)});ee(t,{get heading(){return e.file.path},children:l=>{var u=oo(),f=b(u),v=b(f);P(v,()=>p(n)!=="UNKNOWN",_=>{var x=$i(),O=m(B(x),2),z=b(O);N(()=>D(z,p(n))),E(_,x)});var c=m(v,4),h=b(c);N(()=>{var _;return D(h,et(((_=p(r))==null?void 0:_.bytes)||0))});var d=m(c,4),w=b(d);N(()=>D(w,et(e.file.uncompressed)));var g=m(d,2);P(g,()=>e.file.gzip,_=>{var x=to(),O=m(B(x),2),z=b(O);N(()=>D(z,et(e.file.gzip))),E(_,x)});var S=m(g,2);P(S,()=>e.file.brotli,_=>{var x=eo(),O=m(B(x),2),z=b(O);N(()=>D(z,et(e.file.brotli))),E(_,x)});var y=m(f,2);P(y,()=>p(s),_=>{var x=ro(),O=m(B(x),2),z=b(O),I=b(z);N(()=>D(I,p(s))),E(_,x)});var k=m(y,2);P(k,()=>p(i),_=>{var x=io(),O=b(x);O.__click=[no,e],E(_,x)}),E(l,u)},$$slots:{default:!0}}),W()}St(["click"]);var ao=A('<span class="text-gray-900"> </span> <span class="text-gray-600"> </span>',1),lo=te('<g><rect shape-rendering="crispEdges" vector-effect="non-scaling-stroke"></rect><foreignObject class="pointer-events-none"><p xmlns="http://www.w3.org/1999/xhtml" class="p-1 size-full text-center text-xs truncate"><!></p></foreignObject><!></g>');function uo(t,e){q(e,!0);const r=20,n=6,i=22,o=T(()=>e.tile.width-n*2),s=T(()=>e.tile.height-n-i),a=T(()=>et(e.content[Pt.type])),l=T(()=>Math.min(e.content[Pt.type]/e.totalBytes*100,100)),u=T(()=>`${e.content.name} - ${p(a)} (${p(l).toFixed(2)}%)`),f=T(()=>Math.round(p(l))+"%"),v=T(()=>e.tile.width>=i*1.75&&e.tile.height>=i),c=T(()=>!yt(e.content)||p(s)<=r||p(o)<=r?[]:e.content.items);var h=lo(),d=b(h);const w=T(()=>`stroke-gray-500 ${(yt(e.content)?"cursor-zoom-in":"cursor-pointer")??""} svelte-xusoaq`);var g=m(d),S=b(g),y=b(S);P(y,()=>p(v),_=>{var x=ao(),O=B(x),z=b(O),I=m(O,2),Y=b(I);N(()=>{D(z,e.content.name),D(Y,`- ${p(a)??""}`)}),E(_,x)});var k=m(g);P(k,()=>p(c).length,_=>{var x=T(()=>e.tile.x+n),O=T(()=>e.tile.y+i);$r(_,{get content(){return p(c)},get totalBytes(){return e.totalBytes},get width(){return p(o)},get height(){return p(s)},get xStart(){return p(x)},get yStart(){return p(O)}})}),N(()=>{j(d,"data-tile",e.content.path),j(d,"data-hover",p(u)),j(d,"x",e.tile.x),j(d,"y",e.tile.y),j(d,"width",e.tile.width),j(d,"height",e.tile.height),bi(d,p(w)),je(d,"--percentage",p(f)),j(g,"x",e.tile.x),j(g,"y",e.tile.y),j(g,"width",e.tile.width),j(g,"height",e.tile.height)}),E(t,h),W()}function fo(t,e,r,n=0,i=0){const o=[],s=new Float32Array(t.length),a=t.reduce((_,x)=>_+x,0),l=e*r/a;for(let _=0;_<t.length;_++)s[_]=t[_]*l;let u=n,f=i,v=e,c=r,h=v>=c,d=h?c:v,w=0,g=s[0],S=s[0],y=s[0],k=Me(d,g,S,y);for(let _=1;_<s.length;_++){const x=s[_],O=g+x,z=Math.min(S,x),I=Math.max(y,x),Y=Me(d,O,z,I);if(k<Y){gr(s,w,_-1,g/d,h,u,f,o);const $=g/d;h?(u+=$,v-=$):(f+=$,c-=$),h=v>=c,d=h?c:v,w=_,g=x,S=x,y=x,k=Me(d,g,S,y)}else g=O,S=z,y=I,k=Y}return gr(s,w,s.length-1,g/d,h,u,f,o),o}function Me(t,e,r,n){const i=t*t,o=e*e;return Math.max(i*n/o,o/(i*r))}function gr(t,e,r,n,i,o,s,a){let l=i?s:o;for(let u=e;u<=r;u++){const v=t[u]/n;i?a.push({x:o,y:l,width:n,height:v}):a.push({x:l,y:s,width:v,height:n}),l+=v}}function $r(t,e){q(e,!0);const r=T(()=>Array.isArray(e.content)?Object.values(e.content):[e.content]),n=T(()=>fo(p(r).map(s=>s[Pt.type]),e.width,e.height,e.xStart,e.yStart));var i=jt(),o=B(i);me(o,18,()=>p(n),s=>s,(s,a,l)=>{uo(s,{get tile(){return a},get content(){return p(r)[p(l)]},get totalBytes(){return e.totalBytes}})}),E(t,i),W()}var co=te('<svg xmlns="http://www.w3.org/2000/svg" role="img"><!></svg>');function tn(t,e){q(e,!0);var r=jt(),n=B(r);di(n,()=>[e.content.path,e.width,e.height],i=>{var o=co(),s=b(o),a=T(()=>e.width-1),l=T(()=>e.height-1);$r(s,{get content(){return e.content},get totalBytes(){return e.content[Pt.type]},get width(){return p(a)},get height(){return p(l)},xStart:.5,yStart:.5}),N(()=>{j(o,"width",e.width),j(o,"height",e.height)}),E(i,o)}),E(t,r),W()}var vo=A('<span>Approx. GZIP size</span> <span class="font-bold"> </span>',1),ho=A('<span>Approx. Brotli size</span> <span class="font-bold"> </span>',1),po=A('<div class="mb-4 grid grid-cols-[auto_1fr] gap-x-8"><span>Bundled size</span> <span class="font-bold"> </span> <!> <!></div> <div class="flex-grow overflow-hidden"><!></div>',1);function _o(t,e){q(e,!0);let r=U(0),n=U(0);ee(t,{get heading(){return e.folder.path},large:!0,children:o=>{var s=po(),a=B(s),l=m(b(a),2),u=b(l);N(()=>D(u,et(e.folder.uncompressed)));var f=m(l,2);P(f,()=>e.folder.gzip,d=>{var w=vo(),g=m(B(w),2),S=b(g);N(()=>D(S,et(e.folder.gzip))),E(d,w)});var v=m(f,2);P(v,()=>e.folder.brotli,d=>{var w=ho(),g=m(B(w),2),S=b(g);N(()=>D(S,et(e.folder.brotli))),E(d,w)});var c=m(a,2),h=b(c);tn(h,{get content(){return e.folder},get width(){return p(r)},get height(){return p(n)}}),gt(c,"clientWidth",d=>R(r,d)),gt(c,"clientHeight",d=>R(n,d)),E(o,s)},$$slots:{default:!0}}),W()}var go=te('<svg><path d="M0 0h24v24H0z" stroke="none"></path><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0M12 9h.01"></path><path d="M11 12h1v4h1"></path></svg>');function wo(t,e){let r=tr(e,["$$slots","$$events","$$legacy"]);var n=go();let i;N(()=>i=$e(n,i,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...r},void 0,!0)),E(t,n)}var bo=A('<span class="font-bold">GZIP</span> <span class="text-right"> </span> <span class="text-right"> </span>',1),mo=A('<span class="font-bold">Brotli</span> <span class="text-right"> </span> <span class="text-right"> </span>',1),xo=A('<p class="mt-12">Module types</p> <div class="mt-2 h-10 w-[40rem] max-w-full flex rounded-lg overflow-hidden"><div class="bg-yellow-300 h-full"></div> <div class="bg-blue-300 h-full"></div> <div class="bg-gray-200 h-full"></div></div> <div class="flex justify-between mt-2"><div class="flex items-center space-x-2"><div class="inline-block w-4 h-4 bg-yellow-300"></div> <p>ESM: <span class="font-semibold"> </span></p></div> <div class="flex items-center space-x-2"><div class="inline-block w-4 h-4 bg-blue-300"></div> <p>CJS: <span class="font-semibold"> </span></p></div> <div class="flex items-center space-x-2"><div class="inline-block w-4 h-4 bg-gray-300"></div> <p>Unknown: <span class="font-semibold"> </span></p></div></div>',1),yo=A('<pre class="mt-2 p-4 w-max leading-5 bg-slate-100 rounded overflow-auto min-w-full"><code> </code></pre>'),ko=A('<div class="flex flex-col overflow-y-auto max-w-[500px]"><div class="grid grid-cols-[auto_auto_auto] gap-x-12"><span class="font-bold">Type</span> <span class="font-bold text-right">Size</span> <span class="font-bold text-right">Download time <span data-hover="Estimations for a slow 3G connection"><!></span></span> <span class="font-bold">Uncompressed</span> <span class="text-right"> </span> <span class="text-right"> </span> <!> <!></div></div> <!> <p class="mt-12">This asset includes <span class="font-semibold"> </span> external dependencies</p> <!>',1);function Eo(t,e){q(e,!0);const r=50*1024*8,n=T(()=>window.SONDA_JSON_REPORT.outputs[e.output.root.name]),i=T(()=>Oe(Math.round(e.output.root.uncompressed/r*1e3))),o=T(()=>Oe(Math.round(e.output.root.gzip/r*1e3))),s=T(()=>Oe(Math.round(e.output.root.brotli/r*1e3))),a=T(()=>{const h={esm:0,cjs:0,unknown:0},d=window.SONDA_JSON_REPORT.inputs;return Object.entries(p(n).inputs).forEach(([w,g])=>{var y;const S=((y=d[w])==null?void 0:y.format)??"unknown";h[S]+=g.uncompressed}),h}),l=T(()=>Math.round(p(a).esm/p(n).uncompressed*1e4)/100),u=T(()=>Math.round(p(a).cjs/p(n).uncompressed*1e4)/100),f=T(()=>Math.round(p(a).unknown/p(n).uncompressed*1e4)/100),v=T(()=>{const h=/(?:.*node_modules\/)(@[^\/]+\/[^\/]+|[^\/]+)/;return Object.keys(p(n).inputs).map(d=>{var w;return((w=d.match(h))==null?void 0:w[1])??null}).filter((d,w,g)=>d!==null&&g.indexOf(d)===w).sort()}),c=T(()=>er.generate(p(v)));ee(t,{get heading(){return e.output.root.name},children:d=>{var w=ko(),g=B(w),S=b(g),y=m(b(S),4),k=m(b(y)),_=b(k);wo(_,{width:20,height:20,class:"inline-block pointer-events-none"});var x=m(y,4),O=b(x);N(()=>D(O,et(e.output.root.uncompressed)));var z=m(x,2),I=b(z),Y=m(z,2);P(Y,()=>e.output.root.gzip,rt=>{var V=bo(),Z=m(B(V),2),vt=b(Z);N(()=>D(vt,et(e.output.root.gzip)));var Ot=m(Z,2),Ft=b(Ot);N(()=>D(Ft,p(o))),E(rt,V)});var $=m(Y,2);P($,()=>e.output.root.brotli,rt=>{var V=mo(),Z=m(B(V),2),vt=b(Z);N(()=>D(vt,et(e.output.root.brotli)));var Ot=m(Z,2),Ft=b(Ot);N(()=>D(Ft,p(s))),E(rt,V)});var dt=m(g,2);P(dt,()=>p(f)<100,rt=>{var V=xo(),Z=m(B(V),2),vt=b(Z),Ot=m(vt,2),Ft=m(Ot,2),en=m(Z,2),rr=b(en),rn=m(b(rr),2),nn=m(b(rn)),on=b(nn),nr=m(rr,2),sn=m(b(nr),2),an=m(b(sn)),ln=b(an),un=m(nr,2),fn=m(b(un),2),cn=m(b(fn)),dn=b(cn);N(()=>{j(vt,"style",`width: ${p(l)}%`),j(Ot,"style",`width: ${p(u)}%`),j(Ft,"style",`width: ${p(f)}%`),D(on,`${p(l)??""}%`),D(ln,`${p(u)??""}%`),D(dn,`${p(f)??""}%`)}),E(rt,V)});var Tt=m(dt,2),ye=m(b(Tt)),re=b(ye),ne=m(Tt,2);P(ne,()=>p(v).length>0,rt=>{var V=yo(),Z=b(V),vt=b(Z);N(()=>D(vt,p(c))),E(rt,V)}),N(()=>{D(I,p(i)),D(re,p(v).length)}),E(d,w)},$$slots:{default:!0}}),W()}var So=A("<!> <!> <!> <!> <!>",1);function To(t,e){q(e,!1),xe();var r=So(),n=B(r);P(n,()=>F.folder,l=>{_o(l,{get folder(){return F.folder}})});var i=m(n,2);P(i,()=>F.file,l=>{so(l,{get file(){return F.file}})});var o=m(i,2);P(o,()=>F.output,l=>{Eo(l,{get output(){return F.output}})});var s=m(o,2);P(s,()=>F.duplicates,l=>{Zi(l,{})});var a=m(s,2);P(a,()=>F.code,l=>{Ji(l,{get file(){return F.code}})}),E(t,r),W()}var Oo=(t,e)=>Pt.setType(e()),Mo=A('<button type="button" class="px-4 py-2 text-sm font-medium bg-white hover:bg-gray-100 text-gray-900 border border-gray-300 first:rounded-s-lg last:rounded-e-lg focus:ring-1 focus:ring-blue-300 focus:z-10 svelte-2f0583"> </button>'),Ao=A('<div class="inline-flex space-x-[-1px]" role="group"></div>');function No(t,e){q(e,!0);const r=T(()=>{var a;return((a=K.output)==null?void 0:a.root.gzip)??!1}),n=T(()=>{var a;return((a=K.output)==null?void 0:a.root.brotli)??!1}),i=T(()=>{const a=[["uncompressed","Uncompressed"]];return p(r)&&a.push(["gzip","GZIP"]),p(n)&&a.push(["brotli","Brotli"]),a});var o=jt(),s=B(o);P(s,()=>p(i).length>1,a=>{var l=Ao();me(l,21,()=>p(i),([u,f])=>u,(u,f)=>{let v=()=>p(f)[0],c=()=>p(f)[1];var h=Mo();h.__click=[Oo,v];var d=b(h);N(()=>{j(h,"title",`Show the ${c()} file size in diagram`),de(h,"active",v()===Pt.type),D(d,c())}),E(u,h)}),E(a,l)}),E(t,o),W()}St(["click"]);function Co(){F.open("output",K.output)}var Do=A('<button title="Show details of the active output" aria-label="Details of the entire build output" class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 h-10"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-gray-900 pointer-events-none"><path d="M0 0h24v24H0z" stroke="none" shape-rendering="geometricPrecision"></path><path d="M8 5H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.697M18 12V7a2 2 0 0 0-2-2h-2" shape-rendering="geometricPrecision"></path><path d="M8 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2zM8 11h4M8 15h3M14 17.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 1 0-5 0M18.5 19.5 21 22" shape-rendering="geometricPrecision"></path></svg></button>');function zo(t,e){q(e,!1),xe();var r=Do();r.__click=[Co],E(t,r),W()}St(["click"]);function Io(){F.open("duplicates",!0)}var Po=A('<button title="See duplicated modules found in the build" aria-label="List of duplicated modules found in the build output" class="text-gray-900 bg-red-50 border border-red-400 focus:outline-none hover:bg-red-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 h-10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-red-600"><path stroke="none" d="M0 0h24v24H0z" shape-rendering="geometricPrecision"></path><path d="M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0M12 8v4M12 16h.01" shape-rendering="geometricPrecision"></path></svg></button>');function Ro(t,e){q(e,!1),xe();var r=jt(),n=B(r);P(n,()=>oe.size>1,i=>{var o=Po();o.__click=[Io],E(i,o)}),E(t,r),W()}St(["click"]);function Bo(t){K.setIndex(Number(t.target.value))}var Lo=A("<option> </option>"),jo=A('<select class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm pl-4 pr-8 h-10 min-w-80 svelte-yqayp2" title="Select the active output"></select>'),Fo=A('<div class="flex items-center justify-center space-x-2 max-w-sm"><!></div>');function Ho(t,e){q(e,!1),xe();var r=Fo(),n=b(r);P(n,()=>We.length>0,i=>{var o=jo();Ti(o,()=>K.index);var s;o.__change=[Bo],me(o,5,()=>We,Gr,(a,l,u)=>{var f=Lo();f.value=(f.__value=u)==null?"":u;var v=b(f);N(()=>D(v,`${u+1}. ${p(l).root.name??""}`)),E(a,f)}),N(()=>{s!==(s=K.index)&&(o.value=(o.__value=K.index)==null?"":K.index,He(o,K.index))}),E(i,o)}),E(t,r),W()}St(["change"]);var qo=A('<a href="https://github.com/filipsobol/sonda" target="_blank" title="Open Sonda repository on GitHub" aria-label="GitHub repository" class="flex items-center text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-1 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 h-10"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-gray-900 pointer-events-none"><path d="M0 0h24v24H0z" stroke="none" shape-rendering="geometricPrecision"></path><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2 4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21" shape-rendering="geometricPrecision"></path></svg></a>');function Wo(t){var e=qo();E(t,e)}var Uo=A('<div class="flex flex-row p-4 items-center space-y-0 h-16 justify-between bg-gray-50 shadow"><div class="flex flex-row space-x-2"><!> <!> <!></div> <div class="flex flex-row space-x-2"><!> <!></div></div>');function Vo(t){var e=Uo(),r=b(e),n=b(r);Ho(n,{});var i=m(n,2);zo(i,{});var o=m(i,2);Ro(o,{});var s=m(r,2),a=b(s);No(a,{});var l=m(a,2);Wo(l),E(t,e)}var Go=te('<svg><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M12 21a9 9 0 1 1 0 -18a9 9 0 0 1 0 18z"></path><path d="M8 16l1 -1l1.5 1l1.5 -1l1.5 1l1.5 -1l1 1"></path><path d="M8.5 11.5l1.5 -1.5l-1.5 -1.5"></path><path d="M15.5 11.5l-1.5 -1.5l1.5 -1.5"></path></svg>');function Ko(t,e){let r=tr(e,["$$slots","$$events","$$legacy"]);var n=Go();let i;N(()=>i=$e(n,i,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round",...r},void 0,!0)),E(t,n)}var Jo=A('<div class="flex-grow flex flex-col mt-24 items-center w-full h-full"><!> <h2 class="mt-8 text-3xl font-semibold text-gray-800">No data to display</h2> <p class="mt-4 text-lg text-gray-500">Did you enable source maps in the bundler configuration?</p></div>');function Yo(t){var e=Jo(),r=b(e);Ko(r,{width:96,height:96,class:"text-yellow-400 fill-yellow-100"}),E(t,e)}var Zo=A('<div role="tooltip" class="fixed z-10 px-2 py-1 bg-gray-800 text-gray-100 rounded-md whitespace-nowrap pointer-events-none svelte-1r0gq6x"> </div>');function Qo(t){let r=U(0),n=U(0),i=U(0),o=U(0),s=U(""),a=U("0px"),l=U("0px");function u({target:c,clientX:h,clientY:d}){R(s,tt(c instanceof Element&&c.getAttribute("data-hover")||"")),p(s)&&(R(a,(h+p(r)+12>p(i)?h-p(r)-12:h+12)+"px"),R(l,(d+p(n)+12>p(o)?d-p(n):d+12)+"px"))}var f=Zo();Dt("mouseover",ft.body,u),Dt("mousemove",ft.body,u),Dt("mouseleave",ft.body,()=>R(s,""));var v=b(f);N(()=>{de(f,"invisible",!p(s)),je(f,"--x",p(a)),je(f,"--y",p(l)),D(v,p(s))}),gt(ft.body,"clientWidth",c=>R(i,tt(c))),gt(ft.body,"clientHeight",c=>R(o,tt(c))),gt(f,"clientWidth",c=>R(r,c)),gt(f,"clientHeight",c=>R(n,c)),E(t,f)}var Xo=A('<div role="application" class="wrapper relative flex flex-col overflow-hidden h-screen w-screen"><!> <div class="flex-grow overflow-hidden"><!></div></div> <!> <!>',1);function $o(t,e){q(e,!0);let r=U(0),n=U(0);function i({target:h}){var g;const d=h instanceof Element&&h.getAttribute("data-tile");if(!d)return;const w=(g=K.output)==null?void 0:g.get(d);w&&F.open(yt(w)?"folder":"file",w)}function o(h){h.key==="Escape"&&(h.stopPropagation(),F.close())}var s=Xo();Dt("click",ft.body,i),Dt("keydown",ft.body,o);var a=B(s),l=b(a);Vo(l);var u=m(l,2),f=b(u);P(f,()=>K.output,h=>{tn(h,{get content(){return K.output.root},get width(){return p(r)},get height(){return p(n)}})},h=>{Yo(h)});var v=m(a,2);To(v,{});var c=m(v,2);Qo(c),gt(u,"clientWidth",h=>R(r,h)),gt(u,"clientHeight",h=>R(n,h)),E(t,s),W()}fi($o,{target:document.getElementById("app")});</script><style rel="stylesheet" crossorigin>.svelte-ls0uun::highlight(used-code){background-color:#fed7aa;color:#7c2d12}rect.svelte-xusoaq{fill:color-mix(in oklch,#fca5a5 var(--percentage),#86efac)}rect.svelte-xusoaq:hover{fill:color-mix(in oklch,#fecaca var(--percentage),#bbf7d0)}button.active.svelte-2f0583,button.active.svelte-2f0583:hover{background-color:#e5e7eb}select.svelte-yqayp2{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path stroke="none" d="M0 0h24v24H0z"/><path d="m8 9 4-4 4 4M16 15l-4 4-4-4"/></svg>');background-position:right .5rem center;background-repeat:no-repeat}div[role=tooltip].svelte-1r0gq6x{transform:translate(var(--x),var(--y));will-change:transform,contents}*{scrollbar-width:thin}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.size-full{width:100%;height:100%}.h-10{height:2.5rem}.h-16{height:4rem}.h-4{height:1rem}.h-\[95vh\]{height:95vh}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[95vh\]{max-height:95vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-4{width:1rem}.w-\[40rem\]{width:40rem}.w-\[95vw\]{width:95vw}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-80{min-width:20rem}.min-w-full{min-width:100%}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[95vw\]{max-width:95vw}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_auto_auto\]{grid-template-columns:auto auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-\[-1px\]>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-dashed{border-style:dashed}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-200\/70{background-color:#e5e7ebb3}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71 / var(--tw-bg-opacity))}.fill-yellow-100{fill:#fef9c3}.stroke-gray-500{stroke:#6b7280}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.text-center{text-align:center}.text-right{text-align:right}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}pre{line-height:1.125}.first\:rounded-s-lg:first-child{border-start-start-radius:.5rem;border-end-start-radius:.5rem}.last\:rounded-e-lg:last-child{border-start-end-radius:.5rem;border-end-end-radius:.5rem}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}.focus\:z-10:focus{z-index:10}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253 / var(--tw-ring-opacity))}</style></head><body class="flex w-screen h-screen font-mono"><div id="app" class="flex w-screen min-h-screen"></div></body></html>
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { join, dirname, isAbsolute, resolve, relative, win32, posix } from 'path';
|
|
1
|
+
import { join, dirname, isAbsolute, resolve, relative, win32, posix, extname } from 'path';
|
|
2
2
|
import remapping from '@ampproject/remapping';
|
|
3
3
|
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
4
4
|
import { fileURLToPath } from 'url';
|
|
@@ -108,6 +108,7 @@ function normalizeOptions(options) {
|
|
|
108
108
|
open: true,
|
|
109
109
|
format: 'html',
|
|
110
110
|
detailed: false,
|
|
111
|
+
sources: false,
|
|
111
112
|
gzip: false,
|
|
112
113
|
brotli: false
|
|
113
114
|
};
|
|
@@ -254,7 +255,11 @@ function getContributions(sources) {
|
|
|
254
255
|
}
|
|
255
256
|
|
|
256
257
|
function generateJsonReport(assets, inputs, options) {
|
|
257
|
-
const
|
|
258
|
+
const acceptedExtensions = [
|
|
259
|
+
'.js',
|
|
260
|
+
'.css'
|
|
261
|
+
];
|
|
262
|
+
const outputs = assets.filter((asset)=>acceptedExtensions.includes(extname(asset))).reduce((carry, asset)=>{
|
|
258
263
|
const data = processAsset(asset, inputs, options);
|
|
259
264
|
if (data) {
|
|
260
265
|
carry[normalizePath(asset)] = data;
|
|
@@ -270,7 +275,7 @@ function generateHtmlReport(assets, inputs, options) {
|
|
|
270
275
|
const json = generateJsonReport(assets, inputs, options);
|
|
271
276
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
272
277
|
const template = readFileSync(resolve(__dirname, './index.html'), 'utf-8');
|
|
273
|
-
return template.replace('__REPORT_DATA__', JSON.stringify(json));
|
|
278
|
+
return template.replace('__REPORT_DATA__', encodeURIComponent(JSON.stringify(json)));
|
|
274
279
|
}
|
|
275
280
|
function processAsset(asset, inputs, options) {
|
|
276
281
|
const maybeCodeMap = loadCodeAndMap(asset);
|
|
@@ -291,7 +296,14 @@ function processAsset(asset, inputs, options) {
|
|
|
291
296
|
}, {});
|
|
292
297
|
return {
|
|
293
298
|
...assetSizes,
|
|
294
|
-
inputs: sortObjectKeys(outputInputs)
|
|
299
|
+
inputs: sortObjectKeys(outputInputs),
|
|
300
|
+
map: options.sources ? {
|
|
301
|
+
version: 3,
|
|
302
|
+
names: [],
|
|
303
|
+
mappings: mapped.mappings,
|
|
304
|
+
sources: mapped.sources,
|
|
305
|
+
sourcesContent: mapped.sourcesContent
|
|
306
|
+
} : undefined
|
|
295
307
|
};
|
|
296
308
|
}
|
|
297
309
|
function hasCodeAndMap(result) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../load-source-map/dist/index.js","../src/utils.ts","../src/sourcemap/map.ts","../src/sourcemap/bytes.ts","../src/report.ts","../src/report/generate.ts","../src/bundlers/esbuild.ts","../src/bundlers/rollup.ts","../src/bundlers/webpack.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { join, dirname, isAbsolute, resolve } from 'path';\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented in the source maps specification),\n * and parses the string as JSON.\n *\n * https://github.com/mozilla/source-map/blob/3cb92cc3b73bfab27c146bae4ef2bc09dbb4e5ed/lib/util.js#L162-L164\n */ function parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, \"\"));\n}\n/**\n\tsourceMappingURL=data:application/json;charset=utf-8;base64,data\n\tsourceMappingURL=data:application/json;base64,data\n\tsourceMappingURL=data:application/json;uri,data\n\tsourceMappingURL=map-file-comment.css.map\n\tsourceMappingURL=map-file-comment.css.map?query=value\n*/ const sourceMappingRegExp = /[@#]\\s*sourceMappingURL=(\\S+)\\b/g;\nfunction loadCodeAndMap(codePath) {\n if (!existsSync(codePath)) {\n return null;\n }\n const code = readFileSync(codePath, 'utf-8');\n const extractedComment = code.includes('sourceMappingURL') && Array.from(code.matchAll(sourceMappingRegExp)).at(-1);\n if (!extractedComment || !extractedComment.length) {\n return {\n code\n };\n }\n const maybeMap = loadMap(codePath, extractedComment[1]);\n if (!maybeMap) {\n return {\n code\n };\n }\n const { map, mapPath } = maybeMap;\n map.sources = normalizeSourcesPaths(map, mapPath);\n map.sourcesContent = loadMissingSourcesContent(map);\n delete map.sourceRoot;\n return {\n code,\n map\n };\n}\nfunction loadMap(codePath, sourceMappingURL) {\n if (sourceMappingURL.startsWith('data:')) {\n const map = parseDataUrl(sourceMappingURL);\n return {\n map: parseSourceMapInput(map),\n mapPath: codePath\n };\n }\n const sourceMapFilename = new URL(sourceMappingURL, 'file://').pathname;\n const mapPath = join(dirname(codePath), sourceMapFilename);\n if (!existsSync(mapPath)) {\n return null;\n }\n return {\n map: parseSourceMapInput(readFileSync(mapPath, 'utf-8')),\n mapPath\n };\n}\nfunction parseDataUrl(url) {\n const [prefix, payload] = url.split(',');\n const encoding = prefix.split(';').at(-1);\n switch(encoding){\n case 'base64':\n return Buffer.from(payload, 'base64').toString();\n case 'uri':\n return decodeURIComponent(payload);\n default:\n throw new Error('Unsupported source map encoding: ' + encoding);\n }\n}\n/**\n * Normalize the paths of the sources in the source map to be absolute paths.\n */ function normalizeSourcesPaths(map, mapPath) {\n const mapDir = dirname(mapPath);\n return map.sources.map((source)=>{\n if (!source) {\n return source;\n }\n return isAbsolute(source) ? source : resolve(mapDir, map.sourceRoot ?? '.', source);\n });\n}\n/**\n * Loop through the sources and try to load missing `sourcesContent` from the file system.\n */ function loadMissingSourcesContent(map) {\n return map.sources.map((source, index)=>{\n if (map.sourcesContent?.[index]) {\n return map.sourcesContent[index];\n }\n if (source && existsSync(source)) {\n return readFileSync(source, 'utf-8');\n }\n return null;\n });\n}\n\nexport { loadCodeAndMap };\n//# sourceMappingURL=index.js.map\n","import { relative, win32, posix } from 'path';\nimport type { Options } from './types';\n\nexport const esmRegex: RegExp = /\\.m[tj]sx?$/;\nexport const cjsRegex: RegExp = /\\.c[tj]sx?$/;\nexport const jsRegexp: RegExp = /\\.[cm]?[tj]s[x]?$/;\n\nexport function normalizeOptions( options?: Partial<Options> ) {\n\tconst defaultOptions: Options = {\n\t\topen: true,\n\t\tformat: 'html',\n\t\tdetailed: false,\n\t\tgzip: false,\n\t\tbrotli: false,\n\t};\n\n\treturn Object.assign( {}, defaultOptions, options ) as Options;\n}\n\nexport function normalizePath( pathToNormalize: string ): string {\n\t// Unicode escape sequences used by Rollup and Vite to identify virtual modules\n\tconst normalized = pathToNormalize.replace( /^\\0/, '' )\n\n\t// Transform absolute paths to relative paths\n\tconst relativized = relative( process.cwd(), normalized );\n\n\t// Ensure paths are POSIX-compliant - https://stackoverflow.com/a/63251716/4617687\n\treturn relativized.replaceAll( win32.sep, posix.sep );\n}\n","import { default as remapping, type DecodedSourceMap, type EncodedSourceMap } from '@ampproject/remapping';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { resolve } from 'path';\nimport { normalizePath } from '../utils';\nimport type { CodeMap, ReportInput } from '../types';\n\nexport function mapSourceMap(\n\tmap: EncodedSourceMap,\n\tdirPath: string,\n\tinputs: Record<string, ReportInput>\n): DecodedSourceMap {\n\tconst alreadyRemapped = new Set<string>();\n\tconst remapped = remapping( map, ( file, ctx ) => {\n\t\tif ( alreadyRemapped.has( file ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\talreadyRemapped.add( file );\n\n\t\tconst codeMap = addSourcesToInputs(\n\t\t\tresolve( dirPath, file ),\n\t\t\tinputs\n\t\t);\n\n\t\tif ( !codeMap ) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.content ??= codeMap.code;\n\n\t\treturn codeMap.map;\n\t}, { decodedMappings: true } );\n\n\treturn remapped as DecodedSourceMap;\n}\n\n/**\n * Loads the source map of a given file and adds its \"sources\" to the given inputs object.\n */\nexport function addSourcesToInputs(\n\tpath: string,\n\tinputs: Record<string, ReportInput>\n): CodeMap | null {\n\tconst codeMap = loadCodeAndMap( path );\n\n\tif ( !codeMap ) {\n\t\treturn null;\n\t}\n\n\tconst parentPath = normalizePath( path );\n\tconst format = inputs[ parentPath ]?.format ?? 'unknown';\n\n\tcodeMap.map?.sources\n\t\t.filter( source => source !== null )\n\t\t.forEach( ( source, index ) => {\n\t\t\tconst normalizedPath = normalizePath( source );\n\n\t\t\tif ( parentPath === normalizedPath ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinputs[ normalizedPath ] = {\n\t\t\t\tbytes: Buffer.byteLength( codeMap.map!.sourcesContent?.[ index ] ?? '' ),\n\t\t\t\tformat,\n\t\t\t\timports: [],\n\t\t\t\tbelongsTo: parentPath\n\t\t\t};\n\t\t} );\n\t\n\treturn codeMap;\n}\n","import { gzipSync, brotliCompressSync } from 'zlib';\nimport type { DecodedSourceMap, SourceMapSegment } from '@ampproject/remapping';\nimport type { Options, Sizes } from '../types';\n\nconst UNASSIGNED = '[unassigned]';\n\nexport function getBytesPerSource(\n\tcode: string,\n\tmap: DecodedSourceMap,\n\tassetSizes: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst contributions = getContributions( map.sources );\n\n\t// Split the code into lines\n\tconst codeLines = code.split( /(?<=\\r?\\n)/ );\n\n\tfor ( let lineIndex = 0; lineIndex < codeLines.length; lineIndex++ ) {\n\t\tconst lineCode = codeLines[ lineIndex ];\n\t\tconst mappings = map.mappings[ lineIndex ] || [];\n\t\tlet currentColumn = 0;\n\n\t\tfor ( let i = 0; i <= mappings.length; i++ ) {\n\t\t\t// 0: generatedColumn\n\t\t\t// 1: sourceIndex\n\t\t\t// 2: originalLine\n\t\t\t// 3: originalColumn\n\t\t\t// 4: nameIndex\n\n\t\t\tconst mapping: SourceMapSegment | undefined = mappings[ i ];\n\t\t\tconst startColumn = mapping?.[ 0 ] ?? lineCode.length;\n\t\t\tconst endColumn = mappings[ i + 1 ]?.[ 0 ] ?? lineCode.length;\n\n\t\t\t// Slice the code from currentColumn to startColumn for unassigned code\n\t\t\tif ( startColumn > currentColumn ) {\n\t\t\t\tcontributions.set( UNASSIGNED, contributions.get( UNASSIGNED ) + lineCode.slice( currentColumn, startColumn ) );\n\t\t\t}\n\n\t\t\tif ( mapping ) {\n\t\t\t\t// Slice the code from startColumn to endColumn for assigned code\n\t\t\t\tconst sourceIndex = mapping?.[ 1 ];\n\t\t\t\tconst codeSlice = lineCode.slice( startColumn, endColumn );\n\t\t\t\tconst source = sourceIndex !== undefined ? map.sources[ sourceIndex ]! : UNASSIGNED;\n\n\t\t\t\tcontributions.set( source, contributions.get( source ) + codeSlice );\n\t\t\t\tcurrentColumn = endColumn;\n\t\t\t} else {\n\t\t\t\tcurrentColumn = startColumn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compute sizes for each source\n\tconst sourceSizes = new Map<string, Sizes>();\n\n\tconst contributionsSum: Sizes = {\n\t\tuncompressed: 0,\n\t\tgzip: 0,\n\t\tbrotli: 0\n\t};\n\n\tfor ( const [ source, codeSegment ] of contributions ) {\n\t\tconst sizes = getSizes( codeSegment, options );\n\n\t\tcontributionsSum.uncompressed += sizes.uncompressed;\n\t\tcontributionsSum.gzip += sizes.gzip;\n\t\tcontributionsSum.brotli += sizes.brotli;\n\n\t\tsourceSizes.set( source, sizes );\n\t}\n\n\treturn adjustSizes( sourceSizes, assetSizes, contributionsSum, options );\n}\n\nexport function getSizes(\n\tcode: string,\n\toptions: Options\n): Sizes {\n\treturn {\n\t\tuncompressed: Buffer.byteLength( code ),\n\t\tgzip: options.gzip ? gzipSync( code ).length : 0,\n\t\tbrotli: options.brotli ? brotliCompressSync( code ).length : 0\n\t};\n}\n\nfunction getContributions( sources: Array<string | null> ): Map<string, string> {\n\tconst contributions = new Map<string, string>();\n\n\t// Populate contributions with sources\n\tsources\n\t\t.filter( source => source !== null )\n\t\t.forEach( source => contributions.set( source, '' ) );\n\n\t// Add entry for the code that is not assigned to any source\n\tcontributions.set( UNASSIGNED, '' );\n\n\treturn contributions;\n}\n\n/**\n * Compression efficiency improves with the size of the file.\n *\n * However, what we have is the compressed size of the entire bundle (`actual`),\n * the sum of all files compressed individually (`sum`) and the compressed\n * size of a given file (`content`). The last value is essentially a “worst-case”\n * scenario, and the actual size of the file in the bundle is likely to be smaller.\n *\n * We use this information to estimate the actual size of the file in the bundle\n * after compression.\n */\nfunction adjustSizes(\n\tsources: Map<string, Sizes>,\n\tasset: Sizes,\n\tsums: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst gzipDelta = options.gzip ? asset.gzip / sums.gzip : 0;\n\tconst brotliDelta = options.brotli ? asset.brotli / sums.brotli : 0;\n\n\tfor ( const [ source, sizes ] of sources ) {\n\t\tsources.set( source, {\n\t\t\tuncompressed: sizes.uncompressed,\n\t\t\tgzip: options.gzip ? Math.round( sizes.gzip * gzipDelta ) : 0,\n\t\t\tbrotli: options.brotli ? Math.round( sizes.brotli * brotliDelta ) : 0\n\t\t} );\n\t}\n\n\treturn sources;\n}\n","import { readFileSync } from 'fs';\nimport { fileURLToPath } from 'url';\nimport { dirname, resolve } from 'path';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { mapSourceMap } from './sourcemap/map.js';\nimport { getBytesPerSource, getSizes } from './sourcemap/bytes.js';\nimport type {\n JsonReport,\n MaybeCodeMap,\n ReportInput,\n ReportOutput,\n CodeMap,\n ReportOutputInput,\n Options\n} from './types.js';\nimport { normalizePath } from './utils.js';\n\nexport function generateJsonReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): JsonReport {\n const outputs = assets\n .filter( asset => !asset.endsWith( '.map' ) )\n .reduce( ( carry, asset ) => {\n const data = processAsset( asset, inputs, options );\n\n if ( data ) {\n carry[ normalizePath( asset ) ] = data;\n }\n\n return carry;\n }, {} as Record<string, ReportOutput> );\n\n return {\n inputs: sortObjectKeys( inputs ),\n outputs: sortObjectKeys( outputs )\n };\n}\n\nexport function generateHtmlReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): string {\n const json = generateJsonReport( assets, inputs, options );\n const __dirname = dirname( fileURLToPath( import.meta.url ) );\n const template = readFileSync( resolve( __dirname, './index.html' ), 'utf-8' );\n\n return template.replace( '__REPORT_DATA__', JSON.stringify( json ) );\n}\n\nfunction processAsset(\n asset: string,\n inputs: Record<string, ReportInput>,\n options: Options\n): ReportOutput | void {\n const maybeCodeMap = loadCodeAndMap( asset );\n\n if ( !hasCodeAndMap( maybeCodeMap ) ) {\n return;\n }\n\n const { code, map } = maybeCodeMap;\n const mapped = options.detailed\n ? mapSourceMap( map, dirname( asset ), inputs )\n : { ...map, mappings: decode( map.mappings ) };\n\n mapped.sources = mapped.sources.map( source => normalizePath( source! ) );\n\n const assetSizes = getSizes( code, options );\n const bytes = getBytesPerSource( code, mapped, assetSizes, options );\n const outputInputs = Array\n .from( bytes )\n .reduce( ( carry, [ source, sizes ] ) => {\n carry[ normalizePath( source ) ] = sizes;\n\n return carry;\n }, {} as Record<string, ReportOutputInput> );\n\n return {\n ...assetSizes,\n inputs: sortObjectKeys( outputInputs )\n };\n}\n\nfunction hasCodeAndMap( result: MaybeCodeMap ): result is Required<CodeMap> {\n return Boolean( result && result.code && result.map );\n}\n\nfunction sortObjectKeys<T extends unknown>( object: Record<string, T> ): Record<string, T> {\n return Object\n .keys( object )\n .sort()\n .reduce( ( carry, key ) => {\n carry[ key ] = object[ key ];\n\n return carry;\n }, {} as Record<string, T> );\n} \n","import { join } from 'path';\nimport { writeFileSync } from 'fs';\nimport { generateHtmlReport, generateJsonReport } from '../report.js';\nimport type { Options, JsonReport } from '../types.js';\nimport { normalizeOptions } from '../utils.js';\n\nexport async function generateReportFromAssets(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\tuserOptions: Partial<Options>\n): Promise<void> {\n\tconst options = normalizeOptions( userOptions );\n\tconst handler = options.format === 'html' ? saveHtml : saveJson;\n\tconst path = handler( assets, inputs, options );\n\n\tif ( !options.open || !path ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * `open` is ESM-only package, so we need to import it\n\t * dynamically to make it work in CommonJS environment.\n\t */\n\tconst { default: open } = await import( 'open' );\n\n\topen( path );\n}\n\nfunction saveHtml(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateHtmlReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.html' );\n\n\twriteFileSync( path, report );\n\n\treturn path;\n}\n\nfunction saveJson(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateJsonReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.json' );\n\n\twriteFileSync( path, JSON.stringify( report, null, 2 ) );\n\n\treturn path;\n}\n","import { resolve } from 'path';\nimport { addSourcesToInputs } from '../sourcemap/map';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Plugin } from 'esbuild';\nimport type { Options, JsonReport } from '../types';\n\nexport function SondaEsbuildPlugin( options: Partial<Options> = {} ): Plugin {\n\treturn {\n\t\tname: 'sonda',\n\t\tsetup( build ) {\n\t\t\tbuild.initialOptions.metafile = true;\n\n\t\t\t// Esbuild already reads the existing source maps, so there's no need to do it again\n\t\t\toptions.detailed = false;\n\n\t\t\tbuild.onEnd( result => {\n\t\t\t\tif ( !result.metafile ) {\n\t\t\t\t\treturn console.error( 'Metafile is required for SondaEsbuildPlugin to work.' );\n\t\t\t\t}\n\n\t\t\t\tconst cwd = process.cwd();\n\t\t\t\tconst inputs = Object\n\t\t\t\t\t.entries( result.metafile.inputs )\n\t\t\t\t\t.reduce( ( acc, [ path, data ] ) => {\n\t\t\t\t\t\tacc[ path ] = {\n\t\t\t\t\t\t\tbytes: data.bytes,\n\t\t\t\t\t\t\tformat: data.format ?? 'unknown',\n\t\t\t\t\t\t\timports: data.imports.map( data => data.path ),\n\t\t\t\t\t\t\tbelongsTo: null,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Because esbuild already reads the existing source maps, there may be\n\t\t\t\t\t\t * cases where some report \"outputs\" include \"inputs\" don't exist in the\n\t\t\t\t\t\t * main \"inputs\" object. To avoid this, we parse each esbuild input and\n\t\t\t\t\t\t * add its sources to the \"inputs\" object.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taddSourcesToInputs(\n\t\t\t\t\t\t\tresolve( cwd, path ),\n\t\t\t\t\t\t\tacc\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {} as JsonReport[ 'inputs' ] );\n\n\t\t\t\treturn generateReportFromAssets(\n\t\t\t\t\tObject.keys( result.metafile.outputs ).map( path => resolve( cwd, path ) ),\n\t\t\t\t\tinputs,\n\t\t\t\t\toptions\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\t};\n}\n","import { join, resolve, dirname } from 'path';\nimport { normalizePath, cjsRegex, jsRegexp } from '../utils.js';\nimport { generateReportFromAssets } from '../report/generate.js';\nimport type { Options, ModuleFormat, JsonReport } from '../types.js';\nimport type { Plugin, ModuleInfo, NormalizedOutputOptions, OutputBundle } from 'rollup';\n\nexport function SondaRollupPlugin( options: Partial<Options> = {} ): Plugin {\n\tlet inputs: JsonReport[ 'inputs' ] = {};\n\n\treturn {\n\t\tname: 'sonda',\n\n\t\twriteBundle(\n\t\t\t{ dir, file }: NormalizedOutputOptions,\n\t\t\tbundle: OutputBundle\n\t\t) {\n\t\t\tconst outputDir = resolve( process.cwd(), dir ?? dirname( file! ) );\n\t\t\tconst assets = Object.keys( bundle ).map( name => join( outputDir, name ) );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tassets,\n\t\t\t\tinputs,\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\n\t\tmoduleParsed( module: ModuleInfo ) {\n\t\t\tinputs[ normalizePath( module.id ) ] = {\n\t\t\t\tbytes: module.code ? Buffer.byteLength( module.code ) : 0,\n\t\t\t\tformat: getFormat( module.id, module.meta.commonjs?.isCommonJS ),\n\t\t\t\timports: module.importedIds.map( id => normalizePath( id ) ),\n\t\t\t\tbelongsTo: null,\n\t\t\t};\n\t\t}\n\t};\n}\n\nfunction getFormat( moduleId: string, isCommonJS: boolean | undefined ): ModuleFormat {\n\tif ( isCommonJS === true || cjsRegex.test( moduleId ) ) {\n\t\treturn 'cjs';\n\t}\n\n\tif ( isCommonJS === false || jsRegexp.test( moduleId ) ) {\n\t\treturn 'esm';\n\t}\n\n\treturn'unknown';\n}\n","import { join } from 'path';\nimport { normalizePath, jsRegexp } from '../utils';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Compiler, StatsModule } from 'webpack';\nimport type { Options, ModuleFormat, JsonReport } from '../types';\n\nexport class SondaWebpackPlugin {\n\toptions: Partial<Options>;\n\n\tconstructor ( options: Partial<Options> = {} ) {\n\t\tthis.options = options;\n\t}\n\n\tapply( compiler: Compiler ): void {\n\t\tcompiler.options.output.devtoolModuleFilenameTemplate = '[absolute-resource-path]';\n\n\t\tcompiler.hooks.afterEmit.tapPromise( 'SondaWebpackPlugin', compilation => {\n\t\t\tconst inputs: JsonReport[ 'inputs' ] = {};\n\t\t\tconst stats = compilation.getStats().toJson( {\n\t\t\t\tmodules: true,\n\t\t\t\tprovidedExports: true,\n\t\t\t} );\n\n\t\t\tconst outputPath = stats.outputPath || compiler.outputPath;\n\t\t\tconst modules: Array<StatsModule> = stats.modules\n\t\t\t\t?.flatMap( mod => mod.modules ? [ mod, ...mod.modules ] : mod )\n\t\t\t\t.filter( mod => mod.nameForCondition && !mod.codeGenerated )\n\t\t\t\t.filter( ( mod, index, self ) => self.findIndex( m => m.nameForCondition === mod.nameForCondition ) === index )\n\t\t\t\t|| [];\n\n\t\t\tmodules.forEach( module => {\n\t\t\t\tconst imports = modules.reduce( ( acc, { nameForCondition, issuerName, reasons } ) => {\n\t\t\t\t\tif ( issuerName === module.name || reasons?.some( reason => reason.resolvedModule === module.name ) ) {\n\t\t\t\t\t\tacc.push( normalizePath( nameForCondition! ) );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as Array<string> );\n\n\t\t\t\tinputs[ normalizePath( module.nameForCondition! ) ] = {\n\t\t\t\t\tbytes: module.size || 0,\n\t\t\t\t\tformat: getFormat( module ),\n\t\t\t\t\timports,\n\t\t\t\t\tbelongsTo: null\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tstats.assets?.map( asset => join( outputPath, asset.name ) ) || [],\n\t\t\t\tinputs,\n\t\t\t\tthis.options\n\t\t\t);\n\t\t} );\n\t}\n}\n\nfunction getFormat( module: StatsModule ): ModuleFormat {\n\tif ( !jsRegexp.test( module.nameForCondition! ) ) {\n\t\treturn 'unknown';\n\t}\n\n\t/**\n\t * Sometimes ESM modules have `moduleType` set as `javascript/auto`, so we\n\t * also need to check if the module has exports to determine if it's ESM.\n\t */\n\tif ( module.moduleType === 'javascript/esm' || !!module.providedExports?.length ) {\n\t\treturn 'esm';\n\t}\n\n\treturn 'cjs';\n}\n"],"names":["parseSourceMapInput","str","JSON","parse","replace","sourceMappingRegExp","loadCodeAndMap","codePath","existsSync","code","readFileSync","extractedComment","includes","Array","from","matchAll","at","length","maybeMap","loadMap","map","mapPath","sources","normalizeSourcesPaths","sourcesContent","loadMissingSourcesContent","sourceRoot","sourceMappingURL","startsWith","parseDataUrl","sourceMapFilename","URL","pathname","join","dirname","url","prefix","payload","split","encoding","Buffer","toString","decodeURIComponent","Error","mapDir","source","isAbsolute","resolve","index","cjsRegex","jsRegexp","normalizeOptions","options","defaultOptions","open","format","detailed","gzip","brotli","Object","assign","normalizePath","pathToNormalize","normalized","relativized","relative","process","cwd","replaceAll","win32","sep","posix","mapSourceMap","dirPath","inputs","alreadyRemapped","Set","remapped","remapping","file","ctx","has","add","codeMap","addSourcesToInputs","content","decodedMappings","path","parentPath","filter","forEach","normalizedPath","bytes","byteLength","imports","belongsTo","UNASSIGNED","getBytesPerSource","assetSizes","contributions","getContributions","codeLines","lineIndex","lineCode","mappings","currentColumn","i","mapping","startColumn","endColumn","set","get","slice","sourceIndex","codeSlice","undefined","sourceSizes","Map","contributionsSum","uncompressed","codeSegment","sizes","getSizes","adjustSizes","gzipSync","brotliCompressSync","asset","sums","gzipDelta","brotliDelta","Math","round","generateJsonReport","assets","outputs","endsWith","reduce","carry","data","processAsset","sortObjectKeys","generateHtmlReport","json","__dirname","fileURLToPath","template","stringify","maybeCodeMap","hasCodeAndMap","mapped","decode","outputInputs","result","Boolean","object","keys","sort","key","generateReportFromAssets","userOptions","handler","saveHtml","saveJson","default","report","writeFileSync","SondaEsbuildPlugin","name","setup","build","initialOptions","metafile","onEnd","console","error","entries","acc","SondaRollupPlugin","writeBundle","dir","bundle","outputDir","moduleParsed","module","id","getFormat","meta","commonjs","isCommonJS","importedIds","moduleId","test","SondaWebpackPlugin","apply","compiler","output","devtoolModuleFilenameTemplate","hooks","afterEmit","tapPromise","compilation","stats","getStats","toJson","modules","providedExports","outputPath","flatMap","mod","nameForCondition","codeGenerated","self","findIndex","m","issuerName","reasons","some","reason","resolvedModule","push","size","constructor","moduleType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../load-source-map/dist/index.js","../src/utils.ts","../src/sourcemap/map.ts","../src/sourcemap/bytes.ts","../src/report.ts","../src/report/generate.ts","../src/bundlers/esbuild.ts","../src/bundlers/rollup.ts","../src/bundlers/webpack.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { join, dirname, isAbsolute, resolve } from 'path';\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented in the source maps specification),\n * and parses the string as JSON.\n *\n * https://github.com/mozilla/source-map/blob/3cb92cc3b73bfab27c146bae4ef2bc09dbb4e5ed/lib/util.js#L162-L164\n */ function parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, \"\"));\n}\n/**\n\tsourceMappingURL=data:application/json;charset=utf-8;base64,data\n\tsourceMappingURL=data:application/json;base64,data\n\tsourceMappingURL=data:application/json;uri,data\n\tsourceMappingURL=map-file-comment.css.map\n\tsourceMappingURL=map-file-comment.css.map?query=value\n*/ const sourceMappingRegExp = /[@#]\\s*sourceMappingURL=(\\S+)\\b/g;\nfunction loadCodeAndMap(codePath) {\n if (!existsSync(codePath)) {\n return null;\n }\n const code = readFileSync(codePath, 'utf-8');\n const extractedComment = code.includes('sourceMappingURL') && Array.from(code.matchAll(sourceMappingRegExp)).at(-1);\n if (!extractedComment || !extractedComment.length) {\n return {\n code\n };\n }\n const maybeMap = loadMap(codePath, extractedComment[1]);\n if (!maybeMap) {\n return {\n code\n };\n }\n const { map, mapPath } = maybeMap;\n map.sources = normalizeSourcesPaths(map, mapPath);\n map.sourcesContent = loadMissingSourcesContent(map);\n delete map.sourceRoot;\n return {\n code,\n map\n };\n}\nfunction loadMap(codePath, sourceMappingURL) {\n if (sourceMappingURL.startsWith('data:')) {\n const map = parseDataUrl(sourceMappingURL);\n return {\n map: parseSourceMapInput(map),\n mapPath: codePath\n };\n }\n const sourceMapFilename = new URL(sourceMappingURL, 'file://').pathname;\n const mapPath = join(dirname(codePath), sourceMapFilename);\n if (!existsSync(mapPath)) {\n return null;\n }\n return {\n map: parseSourceMapInput(readFileSync(mapPath, 'utf-8')),\n mapPath\n };\n}\nfunction parseDataUrl(url) {\n const [prefix, payload] = url.split(',');\n const encoding = prefix.split(';').at(-1);\n switch(encoding){\n case 'base64':\n return Buffer.from(payload, 'base64').toString();\n case 'uri':\n return decodeURIComponent(payload);\n default:\n throw new Error('Unsupported source map encoding: ' + encoding);\n }\n}\n/**\n * Normalize the paths of the sources in the source map to be absolute paths.\n */ function normalizeSourcesPaths(map, mapPath) {\n const mapDir = dirname(mapPath);\n return map.sources.map((source)=>{\n if (!source) {\n return source;\n }\n return isAbsolute(source) ? source : resolve(mapDir, map.sourceRoot ?? '.', source);\n });\n}\n/**\n * Loop through the sources and try to load missing `sourcesContent` from the file system.\n */ function loadMissingSourcesContent(map) {\n return map.sources.map((source, index)=>{\n if (map.sourcesContent?.[index]) {\n return map.sourcesContent[index];\n }\n if (source && existsSync(source)) {\n return readFileSync(source, 'utf-8');\n }\n return null;\n });\n}\n\nexport { loadCodeAndMap };\n//# sourceMappingURL=index.js.map\n","import { relative, win32, posix } from 'path';\nimport type { Options } from './types';\n\nexport const esmRegex: RegExp = /\\.m[tj]sx?$/;\nexport const cjsRegex: RegExp = /\\.c[tj]sx?$/;\nexport const jsRegexp: RegExp = /\\.[cm]?[tj]s[x]?$/;\n\nexport function normalizeOptions( options?: Partial<Options> ) {\n\tconst defaultOptions: Options = {\n\t\topen: true,\n\t\tformat: 'html',\n\t\tdetailed: false,\n\t\tsources: false,\n\t\tgzip: false,\n\t\tbrotli: false,\n\t};\n\n\treturn Object.assign( {}, defaultOptions, options ) as Options;\n}\n\nexport function normalizePath( pathToNormalize: string ): string {\n\t// Unicode escape sequences used by Rollup and Vite to identify virtual modules\n\tconst normalized = pathToNormalize.replace( /^\\0/, '' )\n\n\t// Transform absolute paths to relative paths\n\tconst relativized = relative( process.cwd(), normalized );\n\n\t// Ensure paths are POSIX-compliant - https://stackoverflow.com/a/63251716/4617687\n\treturn relativized.replaceAll( win32.sep, posix.sep );\n}\n","import { default as remapping, type DecodedSourceMap, type EncodedSourceMap } from '@ampproject/remapping';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { resolve } from 'path';\nimport { normalizePath } from '../utils';\nimport type { CodeMap, ReportInput } from '../types';\n\nexport function mapSourceMap(\n\tmap: EncodedSourceMap,\n\tdirPath: string,\n\tinputs: Record<string, ReportInput>\n): DecodedSourceMap {\n\tconst alreadyRemapped = new Set<string>();\n\tconst remapped = remapping( map, ( file, ctx ) => {\n\t\tif ( alreadyRemapped.has( file ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\talreadyRemapped.add( file );\n\n\t\tconst codeMap = addSourcesToInputs(\n\t\t\tresolve( dirPath, file ),\n\t\t\tinputs\n\t\t);\n\n\t\tif ( !codeMap ) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.content ??= codeMap.code;\n\n\t\treturn codeMap.map;\n\t}, { decodedMappings: true } );\n\n\treturn remapped as DecodedSourceMap;\n}\n\n/**\n * Loads the source map of a given file and adds its \"sources\" to the given inputs object.\n */\nexport function addSourcesToInputs(\n\tpath: string,\n\tinputs: Record<string, ReportInput>\n): CodeMap | null {\n\tconst codeMap = loadCodeAndMap( path );\n\n\tif ( !codeMap ) {\n\t\treturn null;\n\t}\n\n\tconst parentPath = normalizePath( path );\n\tconst format = inputs[ parentPath ]?.format ?? 'unknown';\n\n\tcodeMap.map?.sources\n\t\t.filter( source => source !== null )\n\t\t.forEach( ( source, index ) => {\n\t\t\tconst normalizedPath = normalizePath( source );\n\n\t\t\tif ( parentPath === normalizedPath ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinputs[ normalizedPath ] = {\n\t\t\t\tbytes: Buffer.byteLength( codeMap.map!.sourcesContent?.[ index ] ?? '' ),\n\t\t\t\tformat,\n\t\t\t\timports: [],\n\t\t\t\tbelongsTo: parentPath\n\t\t\t};\n\t\t} );\n\t\n\treturn codeMap;\n}\n","import { gzipSync, brotliCompressSync } from 'zlib';\nimport type { DecodedSourceMap, SourceMapSegment } from '@ampproject/remapping';\nimport type { Options, Sizes } from '../types';\n\nconst UNASSIGNED = '[unassigned]';\n\nexport function getBytesPerSource(\n\tcode: string,\n\tmap: DecodedSourceMap,\n\tassetSizes: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst contributions = getContributions( map.sources );\n\n\t// Split the code into lines\n\tconst codeLines = code.split( /(?<=\\r?\\n)/ );\n\n\tfor ( let lineIndex = 0; lineIndex < codeLines.length; lineIndex++ ) {\n\t\tconst lineCode = codeLines[ lineIndex ];\n\t\tconst mappings = map.mappings[ lineIndex ] || [];\n\t\tlet currentColumn = 0;\n\n\t\tfor ( let i = 0; i <= mappings.length; i++ ) {\n\t\t\t// 0: generatedColumn\n\t\t\t// 1: sourceIndex\n\t\t\t// 2: originalLine\n\t\t\t// 3: originalColumn\n\t\t\t// 4: nameIndex\n\n\t\t\tconst mapping: SourceMapSegment | undefined = mappings[ i ];\n\t\t\tconst startColumn = mapping?.[ 0 ] ?? lineCode.length;\n\t\t\tconst endColumn = mappings[ i + 1 ]?.[ 0 ] ?? lineCode.length;\n\n\t\t\t// Slice the code from currentColumn to startColumn for unassigned code\n\t\t\tif ( startColumn > currentColumn ) {\n\t\t\t\tcontributions.set( UNASSIGNED, contributions.get( UNASSIGNED ) + lineCode.slice( currentColumn, startColumn ) );\n\t\t\t}\n\n\t\t\tif ( mapping ) {\n\t\t\t\t// Slice the code from startColumn to endColumn for assigned code\n\t\t\t\tconst sourceIndex = mapping?.[ 1 ];\n\t\t\t\tconst codeSlice = lineCode.slice( startColumn, endColumn );\n\t\t\t\tconst source = sourceIndex !== undefined ? map.sources[ sourceIndex ]! : UNASSIGNED;\n\n\t\t\t\tcontributions.set( source, contributions.get( source ) + codeSlice );\n\t\t\t\tcurrentColumn = endColumn;\n\t\t\t} else {\n\t\t\t\tcurrentColumn = startColumn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compute sizes for each source\n\tconst sourceSizes = new Map<string, Sizes>();\n\n\tconst contributionsSum: Sizes = {\n\t\tuncompressed: 0,\n\t\tgzip: 0,\n\t\tbrotli: 0\n\t};\n\n\tfor ( const [ source, codeSegment ] of contributions ) {\n\t\tconst sizes = getSizes( codeSegment, options );\n\n\t\tcontributionsSum.uncompressed += sizes.uncompressed;\n\t\tcontributionsSum.gzip += sizes.gzip;\n\t\tcontributionsSum.brotli += sizes.brotli;\n\n\t\tsourceSizes.set( source, sizes );\n\t}\n\n\treturn adjustSizes( sourceSizes, assetSizes, contributionsSum, options );\n}\n\nexport function getSizes(\n\tcode: string,\n\toptions: Options\n): Sizes {\n\treturn {\n\t\tuncompressed: Buffer.byteLength( code ),\n\t\tgzip: options.gzip ? gzipSync( code ).length : 0,\n\t\tbrotli: options.brotli ? brotliCompressSync( code ).length : 0\n\t};\n}\n\nfunction getContributions( sources: Array<string | null> ): Map<string, string> {\n\tconst contributions = new Map<string, string>();\n\n\t// Populate contributions with sources\n\tsources\n\t\t.filter( source => source !== null )\n\t\t.forEach( source => contributions.set( source, '' ) );\n\n\t// Add entry for the code that is not assigned to any source\n\tcontributions.set( UNASSIGNED, '' );\n\n\treturn contributions;\n}\n\n/**\n * Compression efficiency improves with the size of the file.\n *\n * However, what we have is the compressed size of the entire bundle (`actual`),\n * the sum of all files compressed individually (`sum`) and the compressed\n * size of a given file (`content`). The last value is essentially a “worst-case”\n * scenario, and the actual size of the file in the bundle is likely to be smaller.\n *\n * We use this information to estimate the actual size of the file in the bundle\n * after compression.\n */\nfunction adjustSizes(\n\tsources: Map<string, Sizes>,\n\tasset: Sizes,\n\tsums: Sizes,\n\toptions: Options\n): Map<string, Sizes> {\n\tconst gzipDelta = options.gzip ? asset.gzip / sums.gzip : 0;\n\tconst brotliDelta = options.brotli ? asset.brotli / sums.brotli : 0;\n\n\tfor ( const [ source, sizes ] of sources ) {\n\t\tsources.set( source, {\n\t\t\tuncompressed: sizes.uncompressed,\n\t\t\tgzip: options.gzip ? Math.round( sizes.gzip * gzipDelta ) : 0,\n\t\t\tbrotli: options.brotli ? Math.round( sizes.brotli * brotliDelta ) : 0\n\t\t} );\n\t}\n\n\treturn sources;\n}\n","import { readFileSync } from 'fs';\nimport { fileURLToPath } from 'url';\nimport { dirname, extname, resolve } from 'path';\nimport { loadCodeAndMap } from 'load-source-map';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { mapSourceMap } from './sourcemap/map.js';\nimport { getBytesPerSource, getSizes } from './sourcemap/bytes.js';\nimport type {\n JsonReport,\n MaybeCodeMap,\n ReportInput,\n ReportOutput,\n CodeMap,\n ReportOutputInput,\n Options\n} from './types.js';\nimport { normalizePath } from './utils.js';\n\nexport function generateJsonReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): JsonReport {\n const acceptedExtensions = [ '.js', '.css' ];\n\n const outputs = assets\n .filter( asset => acceptedExtensions.includes( extname( asset ) ) )\n .reduce( ( carry, asset ) => {\n const data = processAsset( asset, inputs, options );\n\n if ( data ) {\n carry[ normalizePath( asset ) ] = data;\n }\n\n return carry;\n }, {} as Record<string, ReportOutput> );\n\n return {\n inputs: sortObjectKeys( inputs ),\n outputs: sortObjectKeys( outputs )\n };\n}\n\nexport function generateHtmlReport(\n assets: Array<string>,\n inputs: Record<string, ReportInput>,\n options: Options\n): string {\n const json = generateJsonReport( assets, inputs, options );\n const __dirname = dirname( fileURLToPath( import.meta.url ) );\n const template = readFileSync( resolve( __dirname, './index.html' ), 'utf-8' );\n\n return template.replace( '__REPORT_DATA__', encodeURIComponent( JSON.stringify( json ) ) );\n}\n\nfunction processAsset(\n asset: string,\n inputs: Record<string, ReportInput>,\n options: Options\n): ReportOutput | void {\n const maybeCodeMap = loadCodeAndMap( asset );\n\n if ( !hasCodeAndMap( maybeCodeMap ) ) {\n return;\n }\n\n const { code, map } = maybeCodeMap;\n const mapped = options.detailed\n ? mapSourceMap( map, dirname( asset ), inputs )\n : { ...map, mappings: decode( map.mappings ) };\n\n mapped.sources = mapped.sources.map( source => normalizePath( source! ) );\n\n const assetSizes = getSizes( code, options );\n const bytes = getBytesPerSource( code, mapped, assetSizes, options );\n const outputInputs = Array\n .from( bytes )\n .reduce( ( carry, [ source, sizes ] ) => {\n carry[ normalizePath( source ) ] = sizes;\n\n return carry;\n }, {} as Record<string, ReportOutputInput> );\n\n return {\n ...assetSizes,\n inputs: sortObjectKeys( outputInputs ),\n map: options.sources ? {\n version: 3,\n names: [],\n mappings: mapped.mappings,\n sources: mapped.sources,\n sourcesContent: mapped.sourcesContent,\n } : undefined\n };\n}\n\nfunction hasCodeAndMap( result: MaybeCodeMap ): result is Required<CodeMap> {\n return Boolean( result && result.code && result.map );\n}\n\nfunction sortObjectKeys<T extends unknown>( object: Record<string, T> ): Record<string, T> {\n return Object\n .keys( object )\n .sort()\n .reduce( ( carry, key ) => {\n carry[ key ] = object[ key ];\n\n return carry;\n }, {} as Record<string, T> );\n} \n","import { join } from 'path';\nimport { writeFileSync } from 'fs';\nimport { generateHtmlReport, generateJsonReport } from '../report.js';\nimport type { Options, JsonReport } from '../types.js';\nimport { normalizeOptions } from '../utils.js';\n\nexport async function generateReportFromAssets(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\tuserOptions: Partial<Options>\n): Promise<void> {\n\tconst options = normalizeOptions( userOptions );\n\tconst handler = options.format === 'html' ? saveHtml : saveJson;\n\tconst path = handler( assets, inputs, options );\n\n\tif ( !options.open || !path ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * `open` is ESM-only package, so we need to import it\n\t * dynamically to make it work in CommonJS environment.\n\t */\n\tconst { default: open } = await import( 'open' );\n\n\topen( path );\n}\n\nfunction saveHtml(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateHtmlReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.html' );\n\n\twriteFileSync( path, report );\n\n\treturn path;\n}\n\nfunction saveJson(\n\tassets: string[],\n\tinputs: JsonReport[ 'inputs' ],\n\toptions: Options\n): string | null {\n\tconst report = generateJsonReport( assets, inputs, options );\n\tconst path = join( process.cwd(), 'sonda-report.json' );\n\n\twriteFileSync( path, JSON.stringify( report, null, 2 ) );\n\n\treturn path;\n}\n","import { resolve } from 'path';\nimport { addSourcesToInputs } from '../sourcemap/map';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Plugin } from 'esbuild';\nimport type { Options, JsonReport } from '../types';\n\nexport function SondaEsbuildPlugin( options: Partial<Options> = {} ): Plugin {\n\treturn {\n\t\tname: 'sonda',\n\t\tsetup( build ) {\n\t\t\tbuild.initialOptions.metafile = true;\n\n\t\t\t// Esbuild already reads the existing source maps, so there's no need to do it again\n\t\t\toptions.detailed = false;\n\n\t\t\tbuild.onEnd( result => {\n\t\t\t\tif ( !result.metafile ) {\n\t\t\t\t\treturn console.error( 'Metafile is required for SondaEsbuildPlugin to work.' );\n\t\t\t\t}\n\n\t\t\t\tconst cwd = process.cwd();\n\t\t\t\tconst inputs = Object\n\t\t\t\t\t.entries( result.metafile.inputs )\n\t\t\t\t\t.reduce( ( acc, [ path, data ] ) => {\n\t\t\t\t\t\tacc[ path ] = {\n\t\t\t\t\t\t\tbytes: data.bytes,\n\t\t\t\t\t\t\tformat: data.format ?? 'unknown',\n\t\t\t\t\t\t\timports: data.imports.map( data => data.path ),\n\t\t\t\t\t\t\tbelongsTo: null,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Because esbuild already reads the existing source maps, there may be\n\t\t\t\t\t\t * cases where some report \"outputs\" include \"inputs\" don't exist in the\n\t\t\t\t\t\t * main \"inputs\" object. To avoid this, we parse each esbuild input and\n\t\t\t\t\t\t * add its sources to the \"inputs\" object.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taddSourcesToInputs(\n\t\t\t\t\t\t\tresolve( cwd, path ),\n\t\t\t\t\t\t\tacc\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {} as JsonReport[ 'inputs' ] );\n\n\t\t\t\treturn generateReportFromAssets(\n\t\t\t\t\tObject.keys( result.metafile.outputs ).map( path => resolve( cwd, path ) ),\n\t\t\t\t\tinputs,\n\t\t\t\t\toptions\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\t};\n}\n","import { join, resolve, dirname } from 'path';\nimport { normalizePath, cjsRegex, jsRegexp } from '../utils.js';\nimport { generateReportFromAssets } from '../report/generate.js';\nimport type { Options, ModuleFormat, JsonReport } from '../types.js';\nimport type { Plugin, ModuleInfo, NormalizedOutputOptions, OutputBundle } from 'rollup';\n\nexport function SondaRollupPlugin( options: Partial<Options> = {} ): Plugin {\n\tlet inputs: JsonReport[ 'inputs' ] = {};\n\n\treturn {\n\t\tname: 'sonda',\n\n\t\twriteBundle(\n\t\t\t{ dir, file }: NormalizedOutputOptions,\n\t\t\tbundle: OutputBundle\n\t\t) {\n\t\t\tconst outputDir = resolve( process.cwd(), dir ?? dirname( file! ) );\n\t\t\tconst assets = Object.keys( bundle ).map( name => join( outputDir, name ) );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tassets,\n\t\t\t\tinputs,\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\n\t\tmoduleParsed( module: ModuleInfo ) {\n\t\t\tinputs[ normalizePath( module.id ) ] = {\n\t\t\t\tbytes: module.code ? Buffer.byteLength( module.code ) : 0,\n\t\t\t\tformat: getFormat( module.id, module.meta.commonjs?.isCommonJS ),\n\t\t\t\timports: module.importedIds.map( id => normalizePath( id ) ),\n\t\t\t\tbelongsTo: null,\n\t\t\t};\n\t\t}\n\t};\n}\n\nfunction getFormat( moduleId: string, isCommonJS: boolean | undefined ): ModuleFormat {\n\tif ( isCommonJS === true || cjsRegex.test( moduleId ) ) {\n\t\treturn 'cjs';\n\t}\n\n\tif ( isCommonJS === false || jsRegexp.test( moduleId ) ) {\n\t\treturn 'esm';\n\t}\n\n\treturn'unknown';\n}\n","import { join } from 'path';\nimport { normalizePath, jsRegexp } from '../utils';\nimport { generateReportFromAssets } from '../report/generate';\nimport type { Compiler, StatsModule } from 'webpack';\nimport type { Options, ModuleFormat, JsonReport } from '../types';\n\nexport class SondaWebpackPlugin {\n\toptions: Partial<Options>;\n\n\tconstructor ( options: Partial<Options> = {} ) {\n\t\tthis.options = options;\n\t}\n\n\tapply( compiler: Compiler ): void {\n\t\tcompiler.options.output.devtoolModuleFilenameTemplate = '[absolute-resource-path]';\n\n\t\tcompiler.hooks.afterEmit.tapPromise( 'SondaWebpackPlugin', compilation => {\n\t\t\tconst inputs: JsonReport[ 'inputs' ] = {};\n\t\t\tconst stats = compilation.getStats().toJson( {\n\t\t\t\tmodules: true,\n\t\t\t\tprovidedExports: true,\n\t\t\t} );\n\n\t\t\tconst outputPath = stats.outputPath || compiler.outputPath;\n\t\t\tconst modules: Array<StatsModule> = stats.modules\n\t\t\t\t?.flatMap( mod => mod.modules ? [ mod, ...mod.modules ] : mod )\n\t\t\t\t.filter( mod => mod.nameForCondition && !mod.codeGenerated )\n\t\t\t\t.filter( ( mod, index, self ) => self.findIndex( m => m.nameForCondition === mod.nameForCondition ) === index )\n\t\t\t\t|| [];\n\n\t\t\tmodules.forEach( module => {\n\t\t\t\tconst imports = modules.reduce( ( acc, { nameForCondition, issuerName, reasons } ) => {\n\t\t\t\t\tif ( issuerName === module.name || reasons?.some( reason => reason.resolvedModule === module.name ) ) {\n\t\t\t\t\t\tacc.push( normalizePath( nameForCondition! ) );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as Array<string> );\n\n\t\t\t\tinputs[ normalizePath( module.nameForCondition! ) ] = {\n\t\t\t\t\tbytes: module.size || 0,\n\t\t\t\t\tformat: getFormat( module ),\n\t\t\t\t\timports,\n\t\t\t\t\tbelongsTo: null\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn generateReportFromAssets(\n\t\t\t\tstats.assets?.map( asset => join( outputPath, asset.name ) ) || [],\n\t\t\t\tinputs,\n\t\t\t\tthis.options\n\t\t\t);\n\t\t} );\n\t}\n}\n\nfunction getFormat( module: StatsModule ): ModuleFormat {\n\tif ( !jsRegexp.test( module.nameForCondition! ) ) {\n\t\treturn 'unknown';\n\t}\n\n\t/**\n\t * Sometimes ESM modules have `moduleType` set as `javascript/auto`, so we\n\t * also need to check if the module has exports to determine if it's ESM.\n\t */\n\tif ( module.moduleType === 'javascript/esm' || !!module.providedExports?.length ) {\n\t\treturn 'esm';\n\t}\n\n\treturn 'cjs';\n}\n"],"names":["parseSourceMapInput","str","JSON","parse","replace","sourceMappingRegExp","loadCodeAndMap","codePath","existsSync","code","readFileSync","extractedComment","includes","Array","from","matchAll","at","length","maybeMap","loadMap","map","mapPath","sources","normalizeSourcesPaths","sourcesContent","loadMissingSourcesContent","sourceRoot","sourceMappingURL","startsWith","parseDataUrl","sourceMapFilename","URL","pathname","join","dirname","url","prefix","payload","split","encoding","Buffer","toString","decodeURIComponent","Error","mapDir","source","isAbsolute","resolve","index","cjsRegex","jsRegexp","normalizeOptions","options","defaultOptions","open","format","detailed","gzip","brotli","Object","assign","normalizePath","pathToNormalize","normalized","relativized","relative","process","cwd","replaceAll","win32","sep","posix","mapSourceMap","dirPath","inputs","alreadyRemapped","Set","remapped","remapping","file","ctx","has","add","codeMap","addSourcesToInputs","content","decodedMappings","path","parentPath","filter","forEach","normalizedPath","bytes","byteLength","imports","belongsTo","UNASSIGNED","getBytesPerSource","assetSizes","contributions","getContributions","codeLines","lineIndex","lineCode","mappings","currentColumn","i","mapping","startColumn","endColumn","set","get","slice","sourceIndex","codeSlice","undefined","sourceSizes","Map","contributionsSum","uncompressed","codeSegment","sizes","getSizes","adjustSizes","gzipSync","brotliCompressSync","asset","sums","gzipDelta","brotliDelta","Math","round","generateJsonReport","assets","acceptedExtensions","outputs","extname","reduce","carry","data","processAsset","sortObjectKeys","generateHtmlReport","json","__dirname","fileURLToPath","template","encodeURIComponent","stringify","maybeCodeMap","hasCodeAndMap","mapped","decode","outputInputs","version","names","result","Boolean","object","keys","sort","key","generateReportFromAssets","userOptions","handler","saveHtml","saveJson","default","report","writeFileSync","SondaEsbuildPlugin","name","setup","build","initialOptions","metafile","onEnd","console","error","entries","acc","SondaRollupPlugin","writeBundle","dir","bundle","outputDir","moduleParsed","module","id","getFormat","meta","commonjs","isCommonJS","importedIds","moduleId","test","SondaWebpackPlugin","apply","compiler","output","devtoolModuleFilenameTemplate","hooks","afterEmit","tapPromise","compilation","stats","getStats","toJson","modules","providedExports","outputPath","flatMap","mod","nameForCondition","codeGenerated","self","findIndex","m","issuerName","reasons","some","reason","resolvedModule","push","size","constructor","moduleType"],"mappings":"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"}
|
package/dist/report.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EAEV,WAAW,EAIX,OAAO,EACR,MAAM,YAAY,CAAC;AAGpB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,EAAE,OAAO,GACf,UAAU,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EAEV,WAAW,EAIX,OAAO,EACR,MAAM,YAAY,CAAC;AAGpB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,EAAE,OAAO,GACf,UAAU,CAmBZ;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,EAAE,OAAO,GACf,MAAM,CAMR"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,56 +1,62 @@
|
|
|
1
|
-
import type { EncodedSourceMap } from '@ampproject/remapping';
|
|
1
|
+
import type { DecodedSourceMap, EncodedSourceMap } from '@ampproject/remapping';
|
|
2
2
|
export interface Options {
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Determines the output format of the report.
|
|
5
5
|
*
|
|
6
6
|
* @default 'html'
|
|
7
7
|
*/
|
|
8
8
|
format: 'html' | 'json';
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
* (`.html` or `.json` depending on the `format` option) after the build.
|
|
10
|
+
* Determines whether to open the report in the default program for given file
|
|
11
|
+
* extension (`.html` or `.json` depending on the `format` option) after the build.
|
|
12
12
|
*
|
|
13
13
|
* @default true
|
|
14
14
|
*/
|
|
15
15
|
open: boolean;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Determines whether to read the source maps of imported modules.
|
|
18
18
|
*
|
|
19
|
-
* By default, external dependencies that are bundled into a single file
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* By default, external dependencies that are bundled into a single file appear as
|
|
20
|
+
* a single asset in the report. When this option is enabled, the report will instead
|
|
21
|
+
* include the source files of the imported modules, if they have source maps.
|
|
22
22
|
*
|
|
23
|
-
* Enabling this
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* Enabling this option will increase the time it takes to generate the report and
|
|
27
|
-
* decrease the accuracy of the estimated GZIP and Brotli sizes of individual files.
|
|
23
|
+
* Enabling this option will increase the time needed to generate the report and
|
|
24
|
+
* reduce the accuracy of estimated GZIP and Brotli sizes for individual files.
|
|
28
25
|
*
|
|
29
26
|
* @default false
|
|
30
27
|
*/
|
|
31
28
|
detailed: boolean;
|
|
32
29
|
/**
|
|
33
|
-
*
|
|
30
|
+
* Determines whether to include the source maps of the assets in the report to
|
|
31
|
+
* visualize which parts of the code contribute to the final bundle size.
|
|
32
|
+
*
|
|
33
|
+
* ⚠️ Enabling this option will significantly increase the report size and include
|
|
34
|
+
* it in the **source code** of the assets. If you work with proprietary code, be
|
|
35
|
+
* cautious when sharing the report. ⚠️
|
|
36
|
+
*
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
sources: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Determines whether to calculate the sizes of assets after compression with GZIP.
|
|
34
42
|
*
|
|
35
|
-
* The report will
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* files are not completely accurate and should only be used as a reference.
|
|
43
|
+
* The report will include estimated compressed sizes for each file within an asset.
|
|
44
|
+
* However, unlike the compressed size of the entire asset, these individual file
|
|
45
|
+
* estimates are approximate and should be used as a general reference.
|
|
39
46
|
*
|
|
40
|
-
* Enabling this option will increase the time
|
|
47
|
+
* Enabling this option will increase the time needed to generate the report.
|
|
41
48
|
*
|
|
42
49
|
* @default false
|
|
43
50
|
*/
|
|
44
51
|
gzip: boolean;
|
|
45
52
|
/**
|
|
46
|
-
*
|
|
53
|
+
* Determines whether to calculate the sizes of assets after compression with Brotli.
|
|
47
54
|
*
|
|
48
|
-
* The report will
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* files are not completely accurate and should only be used as a reference.
|
|
55
|
+
* The report will include estimated compressed sizes for each file within an asset.
|
|
56
|
+
* However, unlike the compressed size of the entire asset, these individual file
|
|
57
|
+
* estimates are approximate and should be used as a general reference.
|
|
52
58
|
*
|
|
53
|
-
* Enabling this option will increase the time
|
|
59
|
+
* Enabling this option will increase the time needed to generate the report.
|
|
54
60
|
*
|
|
55
61
|
* @default false
|
|
56
62
|
*/
|
|
@@ -64,6 +70,7 @@ export interface ReportInput {
|
|
|
64
70
|
}
|
|
65
71
|
export interface ReportOutput extends Sizes {
|
|
66
72
|
inputs: Record<string, ReportOutputInput>;
|
|
73
|
+
map?: DecodedSourceMap;
|
|
67
74
|
}
|
|
68
75
|
export interface ReportOutputInput extends Sizes {
|
|
69
76
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;;;;OASG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;;;;;;OAUG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;CAAG;AAEnD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,KAAK;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC"}
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,QAAQ,EAAE,MAAsB,CAAC;AAC9C,eAAO,MAAM,QAAQ,EAAE,MAAsB,CAAC;AAC9C,eAAO,MAAM,QAAQ,EAAE,MAA4B,CAAC;AAEpD,wBAAgB,gBAAgB,CAAE,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,QAAQ,EAAE,MAAsB,CAAC;AAC9C,eAAO,MAAM,QAAQ,EAAE,MAAsB,CAAC;AAC9C,eAAO,MAAM,QAAQ,EAAE,MAA4B,CAAC;AAEpD,wBAAgB,gBAAgB,CAAE,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAUJ,OAAO,CAC9D;AAED,wBAAgB,aAAa,CAAE,eAAe,EAAE,MAAM,GAAI,MAAM,CAS/D"}
|
package/package.json
CHANGED