@buoy-gg/assets 7.0.41 → 7.0.43
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/README.md +12 -73
- package/bundlers/vite.mjs +1 -53
- package/lib/commonjs/autoCapture.js +1 -5
- package/lib/commonjs/autoCapture.web.js +1 -6
- package/lib/commonjs/capture/assetLifecycle.js +1 -11
- package/lib/commonjs/capture/assetLifecycle.web.js +1 -20
- package/lib/commonjs/capture/browserAssets.js +1 -83
- package/lib/commonjs/capture/expo.js +1 -46
- package/lib/commonjs/capture/expo.web.js +1 -19
- package/lib/commonjs/capture/install.js +1 -91
- package/lib/commonjs/capture/install.web.js +1 -75
- package/lib/commonjs/capture/isBuoyAsset.js +1 -23
- package/lib/commonjs/capture/measure.js +1 -187
- package/lib/commonjs/capture/metroGraph.js +1 -175
- package/lib/commonjs/capture/metroGraph.web.js +1 -27
- package/lib/commonjs/capture/registry.js +1 -127
- package/lib/commonjs/components/AssetDetail.js +1 -211
- package/lib/commonjs/components/AssetImage.js +1 -66
- package/lib/commonjs/components/AssetRow.js +1 -232
- package/lib/commonjs/components/AssetsFilterBar.js +1 -105
- package/lib/commonjs/components/AssetsHeader.js +1 -73
- package/lib/commonjs/components/AssetsIcon.js +1 -19
- package/lib/commonjs/components/AssetsListControls.js +1 -81
- package/lib/commonjs/components/AssetsModal.js +1 -378
- package/lib/commonjs/components/ScanNotice.js +1 -86
- package/lib/commonjs/components/optionalExpoImage.js +1 -16
- package/lib/commonjs/components/optionalExpoImage.web.js +1 -10
- package/lib/commonjs/export.js +1 -62
- package/lib/commonjs/format.js +1 -59
- package/lib/commonjs/hooks/useAssetRecords.js +1 -22
- package/lib/commonjs/hooks/useAssetScanStatus.js +1 -28
- package/lib/commonjs/index.js +1 -294
- package/lib/commonjs/preset.js +1 -39
- package/lib/commonjs/remote.js +1 -68
- package/lib/commonjs/state.js +1 -51
- package/lib/commonjs/store/assetStore.js +1 -256
- package/lib/commonjs/store/baseline.js +1 -175
- package/lib/commonjs/store/insights.js +1 -120
- package/lib/commonjs/sync/assetsSyncAdapter.js +1 -157
- package/lib/commonjs/types.js +0 -1
- package/lib/commonjs/utils/deviceScale.js +1 -50
- package/lib/commonjs/utils/testIDs.js +1 -110
- package/lib/module/autoCapture.js +1 -5
- package/lib/module/autoCapture.web.js +1 -5
- package/lib/module/capture/assetLifecycle.js +1 -7
- package/lib/module/capture/assetLifecycle.web.js +1 -16
- package/lib/module/capture/browserAssets.js +1 -75
- package/lib/module/capture/expo.js +1 -41
- package/lib/module/capture/expo.web.js +1 -14
- package/lib/module/capture/install.js +1 -85
- package/lib/module/capture/install.web.js +1 -68
- package/lib/module/capture/isBuoyAsset.js +1 -18
- package/lib/module/capture/measure.js +1 -180
- package/lib/module/capture/metroGraph.js +1 -168
- package/lib/module/capture/metroGraph.web.js +1 -21
- package/lib/module/capture/registry.js +1 -120
- package/lib/module/components/AssetDetail.js +1 -207
- package/lib/module/components/AssetImage.js +1 -62
- package/lib/module/components/AssetRow.js +1 -228
- package/lib/module/components/AssetsFilterBar.js +1 -101
- package/lib/module/components/AssetsHeader.js +1 -69
- package/lib/module/components/AssetsIcon.js +1 -12
- package/lib/module/components/AssetsListControls.js +1 -77
- package/lib/module/components/AssetsModal.js +1 -373
- package/lib/module/components/ScanNotice.js +1 -82
- package/lib/module/components/optionalExpoImage.js +1 -12
- package/lib/module/components/optionalExpoImage.web.js +1 -6
- package/lib/module/export.js +1 -57
- package/lib/module/format.js +1 -51
- package/lib/module/hooks/useAssetRecords.js +1 -18
- package/lib/module/hooks/useAssetScanStatus.js +1 -23
- package/lib/module/index.js +1 -64
- package/lib/module/preset.js +1 -35
- package/lib/module/remote.js +1 -61
- package/lib/module/state.js +1 -47
- package/lib/module/store/assetStore.js +1 -240
- package/lib/module/store/baseline.js +1 -167
- package/lib/module/store/insights.js +1 -116
- package/lib/module/sync/assetsSyncAdapter.js +1 -153
- package/lib/module/types.js +0 -1
- package/lib/module/utils/deviceScale.js +1 -46
- package/lib/module/utils/testIDs.js +1 -99
- package/lib/web/index.mjs +3 -4
- package/package.json +3 -8
- package/lib/commonjs/autoCapture.js.map +0 -1
- package/lib/commonjs/autoCapture.web.js.map +0 -1
- package/lib/commonjs/capture/assetLifecycle.js.map +0 -1
- package/lib/commonjs/capture/assetLifecycle.web.js.map +0 -1
- package/lib/commonjs/capture/browserAssets.js.map +0 -1
- package/lib/commonjs/capture/expo.js.map +0 -1
- package/lib/commonjs/capture/expo.web.js.map +0 -1
- package/lib/commonjs/capture/install.js.map +0 -1
- package/lib/commonjs/capture/install.web.js.map +0 -1
- package/lib/commonjs/capture/isBuoyAsset.js.map +0 -1
- package/lib/commonjs/capture/measure.js.map +0 -1
- package/lib/commonjs/capture/metroGraph.js.map +0 -1
- package/lib/commonjs/capture/metroGraph.web.js.map +0 -1
- package/lib/commonjs/capture/registry.js.map +0 -1
- package/lib/commonjs/components/AssetDetail.js.map +0 -1
- package/lib/commonjs/components/AssetImage.js.map +0 -1
- package/lib/commonjs/components/AssetRow.js.map +0 -1
- package/lib/commonjs/components/AssetsFilterBar.js.map +0 -1
- package/lib/commonjs/components/AssetsHeader.js.map +0 -1
- package/lib/commonjs/components/AssetsIcon.js.map +0 -1
- package/lib/commonjs/components/AssetsListControls.js.map +0 -1
- package/lib/commonjs/components/AssetsModal.js.map +0 -1
- package/lib/commonjs/components/ScanNotice.js.map +0 -1
- package/lib/commonjs/components/optionalExpoImage.js.map +0 -1
- package/lib/commonjs/components/optionalExpoImage.web.js.map +0 -1
- package/lib/commonjs/export.js.map +0 -1
- package/lib/commonjs/format.js.map +0 -1
- package/lib/commonjs/hooks/useAssetRecords.js.map +0 -1
- package/lib/commonjs/hooks/useAssetScanStatus.js.map +0 -1
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/preset.js.map +0 -1
- package/lib/commonjs/remote.js.map +0 -1
- package/lib/commonjs/state.js.map +0 -1
- package/lib/commonjs/store/assetStore.js.map +0 -1
- package/lib/commonjs/store/baseline.js.map +0 -1
- package/lib/commonjs/store/insights.js.map +0 -1
- package/lib/commonjs/sync/assetsSyncAdapter.js.map +0 -1
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/utils/deviceScale.js.map +0 -1
- package/lib/commonjs/utils/testIDs.js.map +0 -1
- package/lib/module/autoCapture.js.map +0 -1
- package/lib/module/autoCapture.web.js.map +0 -1
- package/lib/module/capture/assetLifecycle.js.map +0 -1
- package/lib/module/capture/assetLifecycle.web.js.map +0 -1
- package/lib/module/capture/browserAssets.js.map +0 -1
- package/lib/module/capture/expo.js.map +0 -1
- package/lib/module/capture/expo.web.js.map +0 -1
- package/lib/module/capture/install.js.map +0 -1
- package/lib/module/capture/install.web.js.map +0 -1
- package/lib/module/capture/isBuoyAsset.js.map +0 -1
- package/lib/module/capture/measure.js.map +0 -1
- package/lib/module/capture/metroGraph.js.map +0 -1
- package/lib/module/capture/metroGraph.web.js.map +0 -1
- package/lib/module/capture/registry.js.map +0 -1
- package/lib/module/components/AssetDetail.js.map +0 -1
- package/lib/module/components/AssetImage.js.map +0 -1
- package/lib/module/components/AssetRow.js.map +0 -1
- package/lib/module/components/AssetsFilterBar.js.map +0 -1
- package/lib/module/components/AssetsHeader.js.map +0 -1
- package/lib/module/components/AssetsIcon.js.map +0 -1
- package/lib/module/components/AssetsListControls.js.map +0 -1
- package/lib/module/components/AssetsModal.js.map +0 -1
- package/lib/module/components/ScanNotice.js.map +0 -1
- package/lib/module/components/optionalExpoImage.js.map +0 -1
- package/lib/module/components/optionalExpoImage.web.js.map +0 -1
- package/lib/module/export.js.map +0 -1
- package/lib/module/format.js.map +0 -1
- package/lib/module/hooks/useAssetRecords.js.map +0 -1
- package/lib/module/hooks/useAssetScanStatus.js.map +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/preset.js.map +0 -1
- package/lib/module/remote.js.map +0 -1
- package/lib/module/state.js.map +0 -1
- package/lib/module/store/assetStore.js.map +0 -1
- package/lib/module/store/baseline.js.map +0 -1
- package/lib/module/store/insights.js.map +0 -1
- package/lib/module/sync/assetsSyncAdapter.js.map +0 -1
- package/lib/module/types.js.map +0 -1
- package/lib/module/utils/deviceScale.js.map +0 -1
- package/lib/module/utils/testIDs.js.map +0 -1
- package/lib/typescript/autoCapture.d.ts.map +0 -1
- package/lib/typescript/autoCapture.web.d.ts.map +0 -1
- package/lib/typescript/capture/assetLifecycle.d.ts.map +0 -1
- package/lib/typescript/capture/assetLifecycle.web.d.ts.map +0 -1
- package/lib/typescript/capture/browserAssets.d.ts.map +0 -1
- package/lib/typescript/capture/expo.d.ts.map +0 -1
- package/lib/typescript/capture/expo.web.d.ts.map +0 -1
- package/lib/typescript/capture/install.d.ts.map +0 -1
- package/lib/typescript/capture/install.web.d.ts.map +0 -1
- package/lib/typescript/capture/isBuoyAsset.d.ts.map +0 -1
- package/lib/typescript/capture/measure.d.ts.map +0 -1
- package/lib/typescript/capture/metroGraph.d.ts.map +0 -1
- package/lib/typescript/capture/metroGraph.web.d.ts.map +0 -1
- package/lib/typescript/capture/registry.d.ts.map +0 -1
- package/lib/typescript/components/AssetDetail.d.ts.map +0 -1
- package/lib/typescript/components/AssetImage.d.ts.map +0 -1
- package/lib/typescript/components/AssetRow.d.ts.map +0 -1
- package/lib/typescript/components/AssetsFilterBar.d.ts.map +0 -1
- package/lib/typescript/components/AssetsHeader.d.ts.map +0 -1
- package/lib/typescript/components/AssetsIcon.d.ts.map +0 -1
- package/lib/typescript/components/AssetsListControls.d.ts.map +0 -1
- package/lib/typescript/components/AssetsModal.d.ts.map +0 -1
- package/lib/typescript/components/ScanNotice.d.ts.map +0 -1
- package/lib/typescript/components/optionalExpoImage.d.ts.map +0 -1
- package/lib/typescript/components/optionalExpoImage.web.d.ts.map +0 -1
- package/lib/typescript/export.d.ts.map +0 -1
- package/lib/typescript/format.d.ts.map +0 -1
- package/lib/typescript/hooks/useAssetRecords.d.ts.map +0 -1
- package/lib/typescript/hooks/useAssetScanStatus.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/preset.d.ts.map +0 -1
- package/lib/typescript/remote.d.ts.map +0 -1
- package/lib/typescript/state.d.ts.map +0 -1
- package/lib/typescript/store/assetStore.d.ts.map +0 -1
- package/lib/typescript/store/baseline.d.ts.map +0 -1
- package/lib/typescript/store/insights.d.ts.map +0 -1
- package/lib/typescript/sync/assetsSyncAdapter.d.ts.map +0 -1
- package/lib/typescript/types.d.ts.map +0 -1
- package/lib/typescript/utils/deviceScale.d.ts.map +0 -1
- package/lib/typescript/utils/testIDs.d.ts.map +0 -1
|
@@ -1,16 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getExpoPreviewImage = getExpoPreviewImage;
|
|
7
|
-
let ExpoImage = null;
|
|
8
|
-
try {
|
|
9
|
-
ExpoImage = require("expo-image").Image ?? null;
|
|
10
|
-
} catch {
|
|
11
|
-
// Optional peer: the package or its native module may be unavailable.
|
|
12
|
-
}
|
|
13
|
-
function getExpoPreviewImage() {
|
|
14
|
-
return ExpoImage;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=optionalExpoImage.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getExpoPreviewImage=getExpoPreviewImage;let ExpoImage=null;try{ExpoImage=require("expo-image").Image??null}catch{}function getExpoPreviewImage(){return ExpoImage}
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getExpoPreviewImage = getExpoPreviewImage;
|
|
7
|
-
function getExpoPreviewImage() {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=optionalExpoImage.web.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getExpoPreviewImage=getExpoPreviewImage;function getExpoPreviewImage(){return null}
|
package/lib/commonjs/export.js
CHANGED
|
@@ -1,62 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.formatAssetMarkdown = formatAssetMarkdown;
|
|
7
|
-
exports.formatInventoryMarkdown = formatInventoryMarkdown;
|
|
8
|
-
var _format = require("./format");
|
|
9
|
-
var _assetStore = require("./store/assetStore");
|
|
10
|
-
/**
|
|
11
|
-
* Markdown reports for the shared ToolbarCopyButton — the paste-into-your-
|
|
12
|
-
* issue-tracker view of the inventory.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
function formatAssetMarkdown(record) {
|
|
16
|
-
const lines = [`# Asset: ${record.name}.${record.type}`, "", `- Kind: ${record.kind}`, `- Status: ${record.loaded ? "loaded at runtime" : "not observed in the runtime registry"}`];
|
|
17
|
-
if (record.kind === "image") lines.push(`- Dimensions: ${(0, _format.formatDimensions)(record)} (logical)`);
|
|
18
|
-
if (record.scales.length) lines.push(`- Scales: ${(0, _format.formatScales)(record.scales)}`);
|
|
19
|
-
if (record.sizeBytes != null && record.sizeSource === "measured") {
|
|
20
|
-
lines.push(`- Size (all variants): ${(0, _format.formatBytes)(record.sizeBytes)}`);
|
|
21
|
-
}
|
|
22
|
-
const estimate = (0, _assetStore.estDecodedBytes)(record);
|
|
23
|
-
if (estimate > 0) lines.push(`- Decoded memory: ~${(0, _format.formatBytes)(estimate)}`);
|
|
24
|
-
if (record.hash) lines.push(`- Hash: ${record.hash}`);
|
|
25
|
-
if (record.httpServerLocation) lines.push(`- Location: ${record.httpServerLocation}`);
|
|
26
|
-
if (record.fileSystemLocation) lines.push(`- Source dir: ${record.fileSystemLocation}`);
|
|
27
|
-
if (record.resolvedUri) lines.push(`- Resolved URI: ${record.resolvedUri}`);
|
|
28
|
-
return lines.join("\n");
|
|
29
|
-
}
|
|
30
|
-
function formatInventoryMarkdown(records, stats, insights, scanStatus, diff) {
|
|
31
|
-
const lines = ["# Asset inventory", "", `${stats.total} assets · ${stats.loaded} loaded · ${stats.neverLoaded} not observed` + (stats.totalBytes > 0 ? ` · ${(0, _format.formatBytes)(stats.totalBytes)} measured (${stats.measuredCount}/${stats.total})` : "")];
|
|
32
|
-
if (scanStatus.fontFamilies.length) {
|
|
33
|
-
lines.push(`Fonts loaded: ${scanStatus.fontFamilies.join(", ")}`);
|
|
34
|
-
}
|
|
35
|
-
if (!scanStatus.graphSupported) {
|
|
36
|
-
lines.push(scanStatus.graphError ? `_Metro bundle graph unavailable (${scanStatus.graphError}) — runtime-registered assets only._` : "_No Metro bundle graph — runtime-registered assets only (release build)._");
|
|
37
|
-
}
|
|
38
|
-
if (diff) {
|
|
39
|
-
const net = diff.netBytes != null ? `${diff.netBytes >= 0 ? "+" : "−"}${(0, _format.formatBytes)(Math.abs(diff.netBytes))} net` : "net size unknown";
|
|
40
|
-
lines.push("", `## Since baseline (${new Date(diff.baselineSavedAt).toISOString()})`, `- ${diff.added.length} added · ${diff.removed.length} removed · ${diff.grown.length} grew · ${net}`);
|
|
41
|
-
for (const gone of diff.removed.slice(0, 20)) {
|
|
42
|
-
lines.push(`- removed: ${gone.name}.${gone.type}`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const findings = [];
|
|
46
|
-
if (insights.neverLoaded.length) findings.push(`- ${insights.neverLoaded.length} shipped but not observed`);
|
|
47
|
-
if (insights.duplicates.length) findings.push(`- ${insights.duplicates.length} duplicate content groups`);
|
|
48
|
-
if (insights.webpCandidates.length) findings.push(`- ${insights.webpCandidates.length} WebP conversion candidates`);
|
|
49
|
-
if (insights.scaleGaps.length) findings.push(`- ${insights.scaleGaps.length} scale-coverage gaps`);
|
|
50
|
-
if (insights.overDecode.length) findings.push(`- ${insights.overDecode.length} images decoding larger than 2× the screen`);
|
|
51
|
-
if (insights.heavyGifs.length) findings.push(`- ${insights.heavyGifs.length} heavy GIFs (convert to video/Lottie)`);
|
|
52
|
-
if (insights.heavyFonts.length) findings.push(`- ${insights.heavyFonts.length} heavy fonts (subset candidates)`);
|
|
53
|
-
if (insights.scaleAnomalies.length) findings.push(`- ${insights.scaleAnomalies.length} scale-variant anomalies (check exports)`);
|
|
54
|
-
if (findings.length) lines.push("", "## Findings", ...findings);
|
|
55
|
-
lines.push("", "## Assets (largest first)", "", "| Asset | Kind | Dimensions | Scales | Size | Loaded |", "| --- | --- | --- | --- | --- | --- |");
|
|
56
|
-
for (const r of records) {
|
|
57
|
-
const size = r.sizeBytes != null && r.sizeSource === "measured" ? (0, _format.formatBytes)(r.sizeBytes) : (0, _assetStore.estDecodedBytes)(r) > 0 ? `~${(0, _format.formatBytes)((0, _assetStore.estDecodedBytes)(r))}` : "—";
|
|
58
|
-
lines.push(`| ${r.name}.${r.type} | ${r.kind} | ${r.kind === "image" ? (0, _format.formatDimensions)(r) : "—"} | ${(0, _format.formatScales)(r.scales)} | ${size} | ${r.loaded ? "yes" : "NO"} |`);
|
|
59
|
-
}
|
|
60
|
-
return lines.join("\n");
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=export.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatAssetMarkdown=formatAssetMarkdown;exports.formatInventoryMarkdown=formatInventoryMarkdown;var _format=require("./format");var _assetStore=require("./store/assetStore");function formatAssetMarkdown(e){const s=[`# Asset: ${e.name}.${e.type}`,"",`- Kind: ${e.kind}`,`- Status: ${e.loaded?"loaded at runtime":"not observed in the runtime registry"}`];if(e.kind==="image")s.push(`- Dimensions: ${(0,_format.formatDimensions)(e)} (logical)`);if(e.scales.length)s.push(`- Scales: ${(0,_format.formatScales)(e.scales)}`);if(e.sizeBytes!=null&&e.sizeSource==="measured"){s.push(`- Size (all variants): ${(0,_format.formatBytes)(e.sizeBytes)}`)}const t=(0,_assetStore.estDecodedBytes)(e);if(t>0)s.push(`- Decoded memory: ~${(0,_format.formatBytes)(t)}`);if(e.hash)s.push(`- Hash: ${e.hash}`);if(e.httpServerLocation)s.push(`- Location: ${e.httpServerLocation}`);if(e.fileSystemLocation)s.push(`- Source dir: ${e.fileSystemLocation}`);if(e.resolvedUri)s.push(`- Resolved URI: ${e.resolvedUri}`);return s.join("\n")}function formatInventoryMarkdown(e,s,t,r,a){const l=["# Asset inventory","",`${s.total} assets \xB7 ${s.loaded} loaded \xB7 ${s.neverLoaded} not observed`+(s.totalBytes>0?` \xB7 ${(0,_format.formatBytes)(s.totalBytes)} measured (${s.measuredCount}/${s.total})`:"")];if(r.fontFamilies.length){l.push(`Fonts loaded: ${r.fontFamilies.join(", ")}`)}if(!r.graphSupported){l.push(r.graphError?`_Metro bundle graph unavailable (${r.graphError}) \u2014 runtime-registered assets only._`:"_No Metro bundle graph \u2014 runtime-registered assets only (release build)._")}if(a){const n=a.netBytes!=null?`${a.netBytes>=0?"+":"\u2212"}${(0,_format.formatBytes)(Math.abs(a.netBytes))} net`:"net size unknown";l.push("",`## Since baseline (${new Date(a.baselineSavedAt).toISOString()})`,`- ${a.added.length} added \xB7 ${a.removed.length} removed \xB7 ${a.grown.length} grew \xB7 ${n}`);for(const i of a.removed.slice(0,20)){l.push(`- removed: ${i.name}.${i.type}`)}}const o=[];if(t.neverLoaded.length)o.push(`- ${t.neverLoaded.length} shipped but not observed`);if(t.duplicates.length)o.push(`- ${t.duplicates.length} duplicate content groups`);if(t.webpCandidates.length)o.push(`- ${t.webpCandidates.length} WebP conversion candidates`);if(t.scaleGaps.length)o.push(`- ${t.scaleGaps.length} scale-coverage gaps`);if(t.overDecode.length)o.push(`- ${t.overDecode.length} images decoding larger than 2\xD7 the screen`);if(t.heavyGifs.length)o.push(`- ${t.heavyGifs.length} heavy GIFs (convert to video/Lottie)`);if(t.heavyFonts.length)o.push(`- ${t.heavyFonts.length} heavy fonts (subset candidates)`);if(t.scaleAnomalies.length)o.push(`- ${t.scaleAnomalies.length} scale-variant anomalies (check exports)`);if(o.length)l.push("","## Findings",...o);l.push("","## Assets (largest first)","","| Asset | Kind | Dimensions | Scales | Size | Loaded |","| --- | --- | --- | --- | --- | --- |");for(const n of e){const i=n.sizeBytes!=null&&n.sizeSource==="measured"?(0,_format.formatBytes)(n.sizeBytes):(0,_assetStore.estDecodedBytes)(n)>0?`~${(0,_format.formatBytes)((0,_assetStore.estDecodedBytes)(n))}`:"\u2014";l.push(`| ${n.name}.${n.type} | ${n.kind} | ${n.kind==="image"?(0,_format.formatDimensions)(n):"\u2014"} | ${(0,_format.formatScales)(n.scales)} | ${i} | ${n.loaded?"yes":"NO"} |`)}return l.join("\n")}
|
package/lib/commonjs/format.js
CHANGED
|
@@ -1,59 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.KIND_LABELS = exports.KIND_COLORS = void 0;
|
|
7
|
-
exports.formatBytes = formatBytes;
|
|
8
|
-
exports.formatDimensions = formatDimensions;
|
|
9
|
-
exports.formatScales = formatScales;
|
|
10
|
-
exports.formatSize = formatSize;
|
|
11
|
-
/**
|
|
12
|
-
* Shared formatting helpers for rows, detail view, and markdown export.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
function formatBytes(bytes) {
|
|
16
|
-
if (bytes == null || bytes <= 0) return "—";
|
|
17
|
-
if (bytes < 1024) return `${bytes} B`;
|
|
18
|
-
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
|
|
19
|
-
return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
|
|
20
|
-
}
|
|
21
|
-
function formatScales(scales) {
|
|
22
|
-
const unique = [...new Set(scales)].sort((a, b) => a - b);
|
|
23
|
-
if (!unique.length) return "—";
|
|
24
|
-
if (unique.length === 1) return `@${unique[0]}x`;
|
|
25
|
-
if (unique.length <= 3) return unique.map(s => `@${s}x`).join(" ");
|
|
26
|
-
return `@${unique[0]}x–@${unique[unique.length - 1]}x`;
|
|
27
|
-
}
|
|
28
|
-
function formatDimensions(record) {
|
|
29
|
-
if (record.width == null || record.height == null) return "—";
|
|
30
|
-
return `${Math.round(record.width)}×${Math.round(record.height)}`;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** Display size: measured bytes, or "~" decoded estimate for unmeasured images. */
|
|
34
|
-
function formatSize(record, estDecoded) {
|
|
35
|
-
if (record.sizeBytes != null && record.sizeSource === "measured") {
|
|
36
|
-
return formatBytes(record.sizeBytes);
|
|
37
|
-
}
|
|
38
|
-
if (estDecoded > 0) return `~${formatBytes(estDecoded)}`;
|
|
39
|
-
return "—";
|
|
40
|
-
}
|
|
41
|
-
const KIND_LABELS = exports.KIND_LABELS = {
|
|
42
|
-
image: "IMG",
|
|
43
|
-
font: "FONT",
|
|
44
|
-
video: "VID",
|
|
45
|
-
audio: "AUD",
|
|
46
|
-
data: "DATA",
|
|
47
|
-
other: "MISC"
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
/** Family accent per kind — the card's left edge, like network's method bar. */
|
|
51
|
-
const KIND_COLORS = exports.KIND_COLORS = {
|
|
52
|
-
image: "#2DD4BF",
|
|
53
|
-
font: "#C084FC",
|
|
54
|
-
video: "#FF9F1C",
|
|
55
|
-
audio: "#FF3366",
|
|
56
|
-
data: "#00D4FF",
|
|
57
|
-
other: "#8E8E93"
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=format.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.KIND_LABELS=exports.KIND_COLORS=void 0;exports.formatBytes=formatBytes;exports.formatDimensions=formatDimensions;exports.formatScales=formatScales;exports.formatSize=formatSize;function formatBytes(t){if(t==null||t<=0)return"\u2014";if(t<1024)return`${t} B`;if(t<1024*1024)return`${(t/1024).toFixed(1)} KB`;return`${(t/(1024*1024)).toFixed(2)} MB`}function formatScales(t){const e=[...new Set(t)].sort((n,r)=>n-r);if(!e.length)return"\u2014";if(e.length===1)return`@${e[0]}x`;if(e.length<=3)return e.map(n=>`@${n}x`).join(" ");return`@${e[0]}x\u2013@${e[e.length-1]}x`}function formatDimensions(t){if(t.width==null||t.height==null)return"\u2014";return`${Math.round(t.width)}\xD7${Math.round(t.height)}`}function formatSize(t,e){if(t.sizeBytes!=null&&t.sizeSource==="measured"){return formatBytes(t.sizeBytes)}if(e>0)return`~${formatBytes(e)}`;return"\u2014"}const KIND_LABELS=exports.KIND_LABELS={image:"IMG",font:"FONT",video:"VID",audio:"AUD",data:"DATA",other:"MISC"};const KIND_COLORS=exports.KIND_COLORS={image:"#2DD4BF",font:"#C084FC",video:"#FF9F1C",audio:"#FF3366",data:"#00D4FF",other:"#8E8E93"};
|
|
@@ -1,22 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useAssetRecords = useAssetRecords;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _assetStore = require("../store/assetStore");
|
|
9
|
-
var _insights = require("../store/insights");
|
|
10
|
-
/**
|
|
11
|
-
* React bindings for the asset store.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
function useAssetRecords() {
|
|
15
|
-
const snapshot = (0, _react.useSyncExternalStore)(_assetStore.subscribe, _assetStore.getSnapshot, _assetStore.getSnapshot);
|
|
16
|
-
return (0, _react.useMemo)(() => ({
|
|
17
|
-
records: snapshot,
|
|
18
|
-
stats: (0, _assetStore.computeStats)(snapshot),
|
|
19
|
-
insights: (0, _insights.computeInsights)(snapshot)
|
|
20
|
-
}), [snapshot]);
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=useAssetRecords.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useAssetRecords=useAssetRecords;var _react=require("react");var _assetStore=require("../store/assetStore");var _insights=require("../store/insights");function useAssetRecords(){const e=(0,_react.useSyncExternalStore)(_assetStore.subscribe,_assetStore.getSnapshot,_assetStore.getSnapshot);return(0,_react.useMemo)(()=>({records:e,stats:(0,_assetStore.computeStats)(e),insights:(0,_insights.computeInsights)(e)}),[e])}
|
|
@@ -1,28 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getAssetScanSnapshot = getAssetScanSnapshot;
|
|
7
|
-
exports.useAssetScanStatus = useAssetScanStatus;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _install = require("../capture/install");
|
|
10
|
-
var _assetStore = require("../store/assetStore");
|
|
11
|
-
let previousRecords;
|
|
12
|
-
let previousStatus;
|
|
13
|
-
|
|
14
|
-
/** Each store notification replaces the records snapshot, including status-only updates. */
|
|
15
|
-
function getAssetScanSnapshot() {
|
|
16
|
-
const records = (0, _assetStore.getSnapshot)();
|
|
17
|
-
if (records !== previousRecords) {
|
|
18
|
-
previousRecords = records;
|
|
19
|
-
previousStatus = (0, _install.getScanStatus)();
|
|
20
|
-
}
|
|
21
|
-
return previousStatus;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/** Keep scan status reactive in apps that use React Compiler. */
|
|
25
|
-
function useAssetScanStatus() {
|
|
26
|
-
return (0, _react.useSyncExternalStore)(_assetStore.subscribe, getAssetScanSnapshot, getAssetScanSnapshot);
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=useAssetScanStatus.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getAssetScanSnapshot=getAssetScanSnapshot;exports.useAssetScanStatus=useAssetScanStatus;var _react=require("react");var _install=require("../capture/install");var _assetStore=require("../store/assetStore");let previousRecords;let previousStatus;function getAssetScanSnapshot(){const e=(0,_assetStore.getSnapshot)();if(e!==previousRecords){previousRecords=e;previousStatus=(0,_install.getScanStatus)()}return previousStatus}function useAssetScanStatus(){return(0,_react.useSyncExternalStore)(_assetStore.subscribe,getAssetScanSnapshot,getAssetScanSnapshot)}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -1,294 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "ASSETS_ICON_COLOR", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _AssetsIcon.ASSETS_ICON_COLOR;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "ASSETS_TEST_IDS", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _testIDs.ASSETS_TEST_IDS;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "AssetsIcon", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _AssetsIcon.AssetsIcon;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "AssetsModal", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _AssetsModal.AssetsModal;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "AssetsToolView", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _AssetsModal.AssetsToolView;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "assetBadgeTestID", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _testIDs.assetBadgeTestID;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "assetDetailRowTestID", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _testIDs.assetDetailRowTestID;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(exports, "assetFilterTestID", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () {
|
|
51
|
-
return _testIDs.assetFilterTestID;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(exports, "assetFindingTestID", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
-
return _testIDs.assetFindingTestID;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
Object.defineProperty(exports, "assetFontChipTestID", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
get: function () {
|
|
63
|
-
return _testIDs.assetFontChipTestID;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(exports, "assetRowTestID", {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
get: function () {
|
|
69
|
-
return _testIDs.assetRowTestID;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(exports, "assetSlug", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function () {
|
|
75
|
-
return _testIDs.assetSlug;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(exports, "assetsSyncAdapter", {
|
|
79
|
-
enumerable: true,
|
|
80
|
-
get: function () {
|
|
81
|
-
return _assetsSyncAdapter.assetsSyncAdapter;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(exports, "assetsToolPreset", {
|
|
85
|
-
enumerable: true,
|
|
86
|
-
get: function () {
|
|
87
|
-
return _preset.assetsToolPreset;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
Object.defineProperty(exports, "clearBaseline", {
|
|
91
|
-
enumerable: true,
|
|
92
|
-
get: function () {
|
|
93
|
-
return _baseline.clearBaseline;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
Object.defineProperty(exports, "clearRecords", {
|
|
97
|
-
enumerable: true,
|
|
98
|
-
get: function () {
|
|
99
|
-
return _assetStore.clearRecords;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
Object.defineProperty(exports, "computeDiff", {
|
|
103
|
-
enumerable: true,
|
|
104
|
-
get: function () {
|
|
105
|
-
return _baseline.computeDiff;
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
Object.defineProperty(exports, "computeInsights", {
|
|
109
|
-
enumerable: true,
|
|
110
|
-
get: function () {
|
|
111
|
-
return _insights.computeInsights;
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
Object.defineProperty(exports, "computeStats", {
|
|
115
|
-
enumerable: true,
|
|
116
|
-
get: function () {
|
|
117
|
-
return _assetStore.computeStats;
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
Object.defineProperty(exports, "createAssetsTool", {
|
|
121
|
-
enumerable: true,
|
|
122
|
-
get: function () {
|
|
123
|
-
return _preset.createAssetsTool;
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
Object.defineProperty(exports, "disableAssetsCapture", {
|
|
127
|
-
enumerable: true,
|
|
128
|
-
get: function () {
|
|
129
|
-
return _remote.disableAssetsCapture;
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
Object.defineProperty(exports, "estDecodedBytes", {
|
|
133
|
-
enumerable: true,
|
|
134
|
-
get: function () {
|
|
135
|
-
return _assetStore.estDecodedBytes;
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
Object.defineProperty(exports, "fetchAssetGraph", {
|
|
139
|
-
enumerable: true,
|
|
140
|
-
get: function () {
|
|
141
|
-
return _metroGraph.fetchAssetGraph;
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
Object.defineProperty(exports, "formatAssetMarkdown", {
|
|
145
|
-
enumerable: true,
|
|
146
|
-
get: function () {
|
|
147
|
-
return _export.formatAssetMarkdown;
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
Object.defineProperty(exports, "formatInventoryMarkdown", {
|
|
151
|
-
enumerable: true,
|
|
152
|
-
get: function () {
|
|
153
|
-
return _export.formatInventoryMarkdown;
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
Object.defineProperty(exports, "getBrowserAssetManifest", {
|
|
157
|
-
enumerable: true,
|
|
158
|
-
get: function () {
|
|
159
|
-
return _browserAssets.getBrowserAssetManifest;
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
Object.defineProperty(exports, "getDevServerOrigin", {
|
|
163
|
-
enumerable: true,
|
|
164
|
-
get: function () {
|
|
165
|
-
return _metroGraph.getDevServerOrigin;
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
Object.defineProperty(exports, "getDiff", {
|
|
169
|
-
enumerable: true,
|
|
170
|
-
get: function () {
|
|
171
|
-
return _baseline.getDiff;
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
Object.defineProperty(exports, "getLoadedFontFamilies", {
|
|
175
|
-
enumerable: true,
|
|
176
|
-
get: function () {
|
|
177
|
-
return _expo.getLoadedFontFamilies;
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
Object.defineProperty(exports, "getLocalAssets", {
|
|
181
|
-
enumerable: true,
|
|
182
|
-
get: function () {
|
|
183
|
-
return _expo.getLocalAssets;
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
Object.defineProperty(exports, "getRecord", {
|
|
187
|
-
enumerable: true,
|
|
188
|
-
get: function () {
|
|
189
|
-
return _assetStore.getRecord;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
Object.defineProperty(exports, "getScanStatus", {
|
|
193
|
-
enumerable: true,
|
|
194
|
-
get: function () {
|
|
195
|
-
return _install.getScanStatus;
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
Object.defineProperty(exports, "getSnapshot", {
|
|
199
|
-
enumerable: true,
|
|
200
|
-
get: function () {
|
|
201
|
-
return _assetStore.getSnapshot;
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
Object.defineProperty(exports, "installAssetCapture", {
|
|
205
|
-
enumerable: true,
|
|
206
|
-
get: function () {
|
|
207
|
-
return _install.installAssetCapture;
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
Object.defineProperty(exports, "loadBaseline", {
|
|
211
|
-
enumerable: true,
|
|
212
|
-
get: function () {
|
|
213
|
-
return _baseline.loadBaseline;
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
Object.defineProperty(exports, "loadBrowserAssetManifest", {
|
|
217
|
-
enumerable: true,
|
|
218
|
-
get: function () {
|
|
219
|
-
return _browserAssets.loadBrowserAssetManifest;
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
Object.defineProperty(exports, "measureSizes", {
|
|
223
|
-
enumerable: true,
|
|
224
|
-
get: function () {
|
|
225
|
-
return _measure.measureSizes;
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
Object.defineProperty(exports, "registerBrowserAssetManifest", {
|
|
229
|
-
enumerable: true,
|
|
230
|
-
get: function () {
|
|
231
|
-
return _browserAssets.registerBrowserAssetManifest;
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
Object.defineProperty(exports, "replaceAssetsFromSnapshot", {
|
|
235
|
-
enumerable: true,
|
|
236
|
-
get: function () {
|
|
237
|
-
return _remote.replaceAssetsFromSnapshot;
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
Object.defineProperty(exports, "rescan", {
|
|
241
|
-
enumerable: true,
|
|
242
|
-
get: function () {
|
|
243
|
-
return _install.rescan;
|
|
244
|
-
}
|
|
245
|
-
});
|
|
246
|
-
Object.defineProperty(exports, "saveBaseline", {
|
|
247
|
-
enumerable: true,
|
|
248
|
-
get: function () {
|
|
249
|
-
return _baseline.saveBaseline;
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
Object.defineProperty(exports, "setRemoteAssetsHandler", {
|
|
253
|
-
enumerable: true,
|
|
254
|
-
get: function () {
|
|
255
|
-
return _remote.setRemoteAssetsHandler;
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
Object.defineProperty(exports, "startBrowserAssetCapture", {
|
|
259
|
-
enumerable: true,
|
|
260
|
-
get: function () {
|
|
261
|
-
return _assetLifecycle.startBrowserAssetCapture;
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
Object.defineProperty(exports, "subscribe", {
|
|
265
|
-
enumerable: true,
|
|
266
|
-
get: function () {
|
|
267
|
-
return _assetStore.subscribe;
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
Object.defineProperty(exports, "useAssetRecords", {
|
|
271
|
-
enumerable: true,
|
|
272
|
-
get: function () {
|
|
273
|
-
return _useAssetRecords.useAssetRecords;
|
|
274
|
-
}
|
|
275
|
-
});
|
|
276
|
-
var _preset = require("./preset");
|
|
277
|
-
var _AssetsModal = require("./components/AssetsModal");
|
|
278
|
-
var _AssetsIcon = require("./components/AssetsIcon");
|
|
279
|
-
var _install = require("./capture/install");
|
|
280
|
-
var _measure = require("./capture/measure");
|
|
281
|
-
var _metroGraph = require("./capture/metroGraph");
|
|
282
|
-
var _expo = require("./capture/expo");
|
|
283
|
-
var _assetStore = require("./store/assetStore");
|
|
284
|
-
var _insights = require("./store/insights");
|
|
285
|
-
var _baseline = require("./store/baseline");
|
|
286
|
-
var _useAssetRecords = require("./hooks/useAssetRecords");
|
|
287
|
-
var _export = require("./export");
|
|
288
|
-
var _assetsSyncAdapter = require("./sync/assetsSyncAdapter");
|
|
289
|
-
var _remote = require("./remote");
|
|
290
|
-
var _testIDs = require("./utils/testIDs");
|
|
291
|
-
require("./autoCapture");
|
|
292
|
-
var _browserAssets = require("./capture/browserAssets");
|
|
293
|
-
var _assetLifecycle = require("./capture/assetLifecycle");
|
|
294
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"ASSETS_ICON_COLOR",{enumerable:true,get:function(){return _AssetsIcon.ASSETS_ICON_COLOR}});Object.defineProperty(exports,"ASSETS_TEST_IDS",{enumerable:true,get:function(){return _testIDs.ASSETS_TEST_IDS}});Object.defineProperty(exports,"AssetsIcon",{enumerable:true,get:function(){return _AssetsIcon.AssetsIcon}});Object.defineProperty(exports,"AssetsModal",{enumerable:true,get:function(){return _AssetsModal.AssetsModal}});Object.defineProperty(exports,"AssetsToolView",{enumerable:true,get:function(){return _AssetsModal.AssetsToolView}});Object.defineProperty(exports,"assetBadgeTestID",{enumerable:true,get:function(){return _testIDs.assetBadgeTestID}});Object.defineProperty(exports,"assetDetailRowTestID",{enumerable:true,get:function(){return _testIDs.assetDetailRowTestID}});Object.defineProperty(exports,"assetFilterTestID",{enumerable:true,get:function(){return _testIDs.assetFilterTestID}});Object.defineProperty(exports,"assetFindingTestID",{enumerable:true,get:function(){return _testIDs.assetFindingTestID}});Object.defineProperty(exports,"assetFontChipTestID",{enumerable:true,get:function(){return _testIDs.assetFontChipTestID}});Object.defineProperty(exports,"assetRowTestID",{enumerable:true,get:function(){return _testIDs.assetRowTestID}});Object.defineProperty(exports,"assetSlug",{enumerable:true,get:function(){return _testIDs.assetSlug}});Object.defineProperty(exports,"assetsSyncAdapter",{enumerable:true,get:function(){return _assetsSyncAdapter.assetsSyncAdapter}});Object.defineProperty(exports,"assetsToolPreset",{enumerable:true,get:function(){return _preset.assetsToolPreset}});Object.defineProperty(exports,"clearBaseline",{enumerable:true,get:function(){return _baseline.clearBaseline}});Object.defineProperty(exports,"clearRecords",{enumerable:true,get:function(){return _assetStore.clearRecords}});Object.defineProperty(exports,"computeDiff",{enumerable:true,get:function(){return _baseline.computeDiff}});Object.defineProperty(exports,"computeInsights",{enumerable:true,get:function(){return _insights.computeInsights}});Object.defineProperty(exports,"computeStats",{enumerable:true,get:function(){return _assetStore.computeStats}});Object.defineProperty(exports,"createAssetsTool",{enumerable:true,get:function(){return _preset.createAssetsTool}});Object.defineProperty(exports,"disableAssetsCapture",{enumerable:true,get:function(){return _remote.disableAssetsCapture}});Object.defineProperty(exports,"estDecodedBytes",{enumerable:true,get:function(){return _assetStore.estDecodedBytes}});Object.defineProperty(exports,"fetchAssetGraph",{enumerable:true,get:function(){return _metroGraph.fetchAssetGraph}});Object.defineProperty(exports,"formatAssetMarkdown",{enumerable:true,get:function(){return _export.formatAssetMarkdown}});Object.defineProperty(exports,"formatInventoryMarkdown",{enumerable:true,get:function(){return _export.formatInventoryMarkdown}});Object.defineProperty(exports,"getBrowserAssetManifest",{enumerable:true,get:function(){return _browserAssets.getBrowserAssetManifest}});Object.defineProperty(exports,"getDevServerOrigin",{enumerable:true,get:function(){return _metroGraph.getDevServerOrigin}});Object.defineProperty(exports,"getDiff",{enumerable:true,get:function(){return _baseline.getDiff}});Object.defineProperty(exports,"getLoadedFontFamilies",{enumerable:true,get:function(){return _expo.getLoadedFontFamilies}});Object.defineProperty(exports,"getLocalAssets",{enumerable:true,get:function(){return _expo.getLocalAssets}});Object.defineProperty(exports,"getRecord",{enumerable:true,get:function(){return _assetStore.getRecord}});Object.defineProperty(exports,"getScanStatus",{enumerable:true,get:function(){return _install.getScanStatus}});Object.defineProperty(exports,"getSnapshot",{enumerable:true,get:function(){return _assetStore.getSnapshot}});Object.defineProperty(exports,"installAssetCapture",{enumerable:true,get:function(){return _install.installAssetCapture}});Object.defineProperty(exports,"loadBaseline",{enumerable:true,get:function(){return _baseline.loadBaseline}});Object.defineProperty(exports,"loadBrowserAssetManifest",{enumerable:true,get:function(){return _browserAssets.loadBrowserAssetManifest}});Object.defineProperty(exports,"measureSizes",{enumerable:true,get:function(){return _measure.measureSizes}});Object.defineProperty(exports,"registerBrowserAssetManifest",{enumerable:true,get:function(){return _browserAssets.registerBrowserAssetManifest}});Object.defineProperty(exports,"replaceAssetsFromSnapshot",{enumerable:true,get:function(){return _remote.replaceAssetsFromSnapshot}});Object.defineProperty(exports,"rescan",{enumerable:true,get:function(){return _install.rescan}});Object.defineProperty(exports,"saveBaseline",{enumerable:true,get:function(){return _baseline.saveBaseline}});Object.defineProperty(exports,"setRemoteAssetsHandler",{enumerable:true,get:function(){return _remote.setRemoteAssetsHandler}});Object.defineProperty(exports,"startBrowserAssetCapture",{enumerable:true,get:function(){return _assetLifecycle.startBrowserAssetCapture}});Object.defineProperty(exports,"subscribe",{enumerable:true,get:function(){return _assetStore.subscribe}});Object.defineProperty(exports,"useAssetRecords",{enumerable:true,get:function(){return _useAssetRecords.useAssetRecords}});var _preset=require("./preset");var _AssetsModal=require("./components/AssetsModal");var _AssetsIcon=require("./components/AssetsIcon");var _install=require("./capture/install");var _measure=require("./capture/measure");var _metroGraph=require("./capture/metroGraph");var _expo=require("./capture/expo");var _assetStore=require("./store/assetStore");var _insights=require("./store/insights");var _baseline=require("./store/baseline");var _useAssetRecords=require("./hooks/useAssetRecords");var _export=require("./export");var _assetsSyncAdapter=require("./sync/assetsSyncAdapter");var _remote=require("./remote");var _testIDs=require("./utils/testIDs");require("./autoCapture");var _browserAssets=require("./capture/browserAssets");var _assetLifecycle=require("./capture/assetLifecycle");
|
package/lib/commonjs/preset.js
CHANGED
|
@@ -1,39 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createAssetsTool = exports.assetsToolPreset = void 0;
|
|
7
|
-
var _AssetsIcon = require("./components/AssetsIcon");
|
|
8
|
-
var _AssetsModal = require("./components/AssetsModal");
|
|
9
|
-
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
/**
|
|
12
|
-
* Pre-configured Assets tool for FloatingDevTools.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```tsx
|
|
16
|
-
* import { assetsToolPreset } from '@buoy-gg/assets';
|
|
17
|
-
*
|
|
18
|
-
* <FloatingDevTools apps={[assetsToolPreset]} />
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
const assetsToolPreset = exports.assetsToolPreset = (0, _sharedUi.defineToolPreset)({
|
|
23
|
-
id: "assets",
|
|
24
|
-
name: "ASSETS",
|
|
25
|
-
description: "Every bundled asset — sizes, scale coverage, unused detection",
|
|
26
|
-
slot: "both",
|
|
27
|
-
icon: ({
|
|
28
|
-
size,
|
|
29
|
-
color
|
|
30
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_AssetsIcon.AssetsIcon, {
|
|
31
|
-
size: size,
|
|
32
|
-
color: color || _AssetsIcon.ASSETS_ICON_COLOR
|
|
33
|
-
}),
|
|
34
|
-
component: _AssetsModal.AssetsModal
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
/** Create a custom Assets tool configuration. */
|
|
38
|
-
const createAssetsTool = exports.createAssetsTool = (0, _sharedUi.createToolFactory)(assetsToolPreset);
|
|
39
|
-
//# sourceMappingURL=preset.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createAssetsTool=exports.assetsToolPreset=void 0;var _AssetsIcon=require("./components/AssetsIcon");var _AssetsModal=require("./components/AssetsModal");var _sharedUi=require("@buoy-gg/shared-ui");var _jsxRuntime=require("react/jsx-runtime");const assetsToolPreset=exports.assetsToolPreset=(0,_sharedUi.defineToolPreset)({id:"assets",name:"ASSETS",description:"Every bundled asset \u2014 sizes, scale coverage, unused detection",slot:"both",icon:({size:e,color:s})=>(0,_jsxRuntime.jsx)(_AssetsIcon.AssetsIcon,{size:e,color:s||_AssetsIcon.ASSETS_ICON_COLOR}),component:_AssetsModal.AssetsModal});const createAssetsTool=exports.createAssetsTool=(0,_sharedUi.createToolFactory)(assetsToolPreset);
|
package/lib/commonjs/remote.js
CHANGED
|
@@ -1,68 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.disableAssetsCapture = disableAssetsCapture;
|
|
7
|
-
exports.remoteAssetsDispatch = remoteAssetsDispatch;
|
|
8
|
-
exports.replaceAssetsFromSnapshot = replaceAssetsFromSnapshot;
|
|
9
|
-
exports.setRemoteAssetsHandler = setRemoteAssetsHandler;
|
|
10
|
-
var _state = require("./state");
|
|
11
|
-
var _assetStore = require("./store/assetStore");
|
|
12
|
-
/**
|
|
13
|
-
* Remote-dispatch seam for dashboard mirrors (Buoy Desktop).
|
|
14
|
-
*
|
|
15
|
-
* On device this stays null and every action runs locally. A dashboard sets
|
|
16
|
-
* a handler that forwards action name + params over external-sync to the
|
|
17
|
-
* SAME adapter actions the MCP uses (sync/assetsSyncAdapter.ts), so one
|
|
18
|
-
* action vocabulary serves phone UI, desktop UI, and LLM automation.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
function setRemoteAssetsHandler(handler) {
|
|
22
|
-
(0, _state.assetsState)().remoteDispatch = handler;
|
|
23
|
-
}
|
|
24
|
-
function remoteAssetsDispatch() {
|
|
25
|
-
return (0, _state.assetsState)().remoteDispatch;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** Dashboards never scan their own bundle — the store is purely a mirror. */
|
|
29
|
-
function disableAssetsCapture() {
|
|
30
|
-
(0, _state.assetsState)().captureDisabled = true;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** Replace the whole store from a synced adapter snapshot. */
|
|
34
|
-
function replaceAssetsFromSnapshot(payload) {
|
|
35
|
-
const s = (0, _state.assetsState)();
|
|
36
|
-
const wire = payload.records ?? [];
|
|
37
|
-
s.records = wire.map(w => ({
|
|
38
|
-
id: w.id,
|
|
39
|
-
key: w.key,
|
|
40
|
-
registryId: w.registryId ?? undefined,
|
|
41
|
-
name: w.name,
|
|
42
|
-
type: w.type,
|
|
43
|
-
kind: w.kind,
|
|
44
|
-
hash: w.hash ?? undefined,
|
|
45
|
-
httpServerLocation: w.location ?? undefined,
|
|
46
|
-
width: w.width ?? undefined,
|
|
47
|
-
height: w.height ?? undefined,
|
|
48
|
-
scales: w.scales,
|
|
49
|
-
resolvedUri: w.uri ?? undefined,
|
|
50
|
-
loaded: w.loaded,
|
|
51
|
-
origin: w.registryId != null ? "registry" : "graph",
|
|
52
|
-
sizeBytes: w.sizeBytes ?? undefined,
|
|
53
|
-
sizeSource: w.sizeSource ?? undefined,
|
|
54
|
-
firstSeenAt: Date.now()
|
|
55
|
-
}));
|
|
56
|
-
s.byKey = new Map(s.records.map(r => [r.key, r]));
|
|
57
|
-
s.byId = new Map(s.records.map(r => [r.id, r]));
|
|
58
|
-
if (payload.scanStatus) {
|
|
59
|
-
s.fontFamilies = [...new Set(payload.scanStatus.fontFamilies ?? [])];
|
|
60
|
-
s.mirrorScanStatus = {
|
|
61
|
-
...payload.scanStatus,
|
|
62
|
-
fontFamilies: s.fontFamilies
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
s.mirrorDiff = payload.diff ?? null;
|
|
66
|
-
(0, _assetStore.invalidate)();
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=remote.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.disableAssetsCapture=disableAssetsCapture;exports.remoteAssetsDispatch=remoteAssetsDispatch;exports.replaceAssetsFromSnapshot=replaceAssetsFromSnapshot;exports.setRemoteAssetsHandler=setRemoteAssetsHandler;var _state=require("./state");var _assetStore=require("./store/assetStore");function setRemoteAssetsHandler(t){(0,_state.assetsState)().remoteDispatch=t}function remoteAssetsDispatch(){return(0,_state.assetsState)().remoteDispatch}function disableAssetsCapture(){(0,_state.assetsState)().captureDisabled=true}function replaceAssetsFromSnapshot(t){const s=(0,_state.assetsState)();const r=t.records??[];s.records=r.map(e=>({id:e.id,key:e.key,registryId:e.registryId??void 0,name:e.name,type:e.type,kind:e.kind,hash:e.hash??void 0,httpServerLocation:e.location??void 0,width:e.width??void 0,height:e.height??void 0,scales:e.scales,resolvedUri:e.uri??void 0,loaded:e.loaded,origin:e.registryId!=null?"registry":"graph",sizeBytes:e.sizeBytes??void 0,sizeSource:e.sizeSource??void 0,firstSeenAt:Date.now()}));s.byKey=new Map(s.records.map(e=>[e.key,e]));s.byId=new Map(s.records.map(e=>[e.id,e]));if(t.scanStatus){s.fontFamilies=[...new Set(t.scanStatus.fontFamilies??[])];s.mirrorScanStatus={...t.scanStatus,fontFamilies:s.fontFamilies}}s.mirrorDiff=t.diff??null;(0,_assetStore.invalidate)()}
|