@buoy-gg/assets 7.0.39 → 7.0.41

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.
Files changed (78) hide show
  1. package/README.md +4 -0
  2. package/bundlers/vite.d.ts +7 -0
  3. package/bundlers/vite.mjs +53 -0
  4. package/lib/commonjs/autoCapture.js +5 -0
  5. package/lib/commonjs/autoCapture.js.map +1 -0
  6. package/lib/commonjs/autoCapture.web.js +6 -0
  7. package/lib/commonjs/autoCapture.web.js.map +1 -0
  8. package/lib/commonjs/capture/assetLifecycle.js +11 -0
  9. package/lib/commonjs/capture/assetLifecycle.js.map +1 -0
  10. package/lib/commonjs/capture/assetLifecycle.web.js +20 -0
  11. package/lib/commonjs/capture/assetLifecycle.web.js.map +1 -0
  12. package/lib/commonjs/capture/browserAssets.js +83 -0
  13. package/lib/commonjs/capture/browserAssets.js.map +1 -0
  14. package/lib/commonjs/capture/expo.web.js +19 -0
  15. package/lib/commonjs/capture/expo.web.js.map +1 -0
  16. package/lib/commonjs/capture/install.web.js +75 -0
  17. package/lib/commonjs/capture/install.web.js.map +1 -0
  18. package/lib/commonjs/capture/measure.js +2 -1
  19. package/lib/commonjs/capture/measure.js.map +1 -1
  20. package/lib/commonjs/capture/metroGraph.web.js +27 -0
  21. package/lib/commonjs/capture/metroGraph.web.js.map +1 -0
  22. package/lib/commonjs/components/ScanNotice.js +1 -0
  23. package/lib/commonjs/components/ScanNotice.js.map +1 -1
  24. package/lib/commonjs/components/optionalExpoImage.web.js +0 -1
  25. package/lib/commonjs/components/optionalExpoImage.web.js.map +1 -1
  26. package/lib/commonjs/index.js +27 -46
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/module/autoCapture.js +5 -0
  29. package/lib/module/autoCapture.js.map +1 -0
  30. package/lib/module/autoCapture.web.js +5 -0
  31. package/lib/module/autoCapture.web.js.map +1 -0
  32. package/lib/module/capture/assetLifecycle.js +7 -0
  33. package/lib/module/capture/assetLifecycle.js.map +1 -0
  34. package/lib/module/capture/assetLifecycle.web.js +16 -0
  35. package/lib/module/capture/assetLifecycle.web.js.map +1 -0
  36. package/lib/module/capture/browserAssets.js +75 -0
  37. package/lib/module/capture/browserAssets.js.map +1 -0
  38. package/lib/module/capture/expo.web.js +14 -0
  39. package/lib/module/capture/expo.web.js.map +1 -0
  40. package/lib/module/capture/install.web.js +68 -0
  41. package/lib/module/capture/install.web.js.map +1 -0
  42. package/lib/module/capture/measure.js +2 -1
  43. package/lib/module/capture/measure.js.map +1 -1
  44. package/lib/module/capture/metroGraph.web.js +21 -0
  45. package/lib/module/capture/metroGraph.web.js.map +1 -0
  46. package/lib/module/components/ScanNotice.js +1 -0
  47. package/lib/module/components/ScanNotice.js.map +1 -1
  48. package/lib/module/components/optionalExpoImage.web.js +0 -1
  49. package/lib/module/components/optionalExpoImage.web.js.map +1 -1
  50. package/lib/module/index.js +3 -2
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/typescript/autoCapture.d.ts +2 -0
  53. package/lib/typescript/autoCapture.d.ts.map +1 -0
  54. package/lib/typescript/autoCapture.web.d.ts +2 -0
  55. package/lib/typescript/autoCapture.web.d.ts.map +1 -0
  56. package/lib/typescript/capture/assetLifecycle.d.ts +3 -0
  57. package/lib/typescript/capture/assetLifecycle.d.ts.map +1 -0
  58. package/lib/typescript/capture/assetLifecycle.web.d.ts +2 -0
  59. package/lib/typescript/capture/assetLifecycle.web.d.ts.map +1 -0
  60. package/lib/typescript/capture/browserAssets.d.ts +13 -0
  61. package/lib/typescript/capture/browserAssets.d.ts.map +1 -0
  62. package/lib/typescript/capture/expo.web.d.ts +3 -0
  63. package/lib/typescript/capture/expo.web.d.ts.map +1 -0
  64. package/lib/typescript/capture/install.web.d.ts +6 -0
  65. package/lib/typescript/capture/install.web.d.ts.map +1 -0
  66. package/lib/typescript/capture/measure.d.ts +0 -10
  67. package/lib/typescript/capture/measure.d.ts.map +1 -1
  68. package/lib/typescript/capture/metroGraph.web.d.ts +12 -0
  69. package/lib/typescript/capture/metroGraph.web.d.ts.map +1 -0
  70. package/lib/typescript/components/ScanNotice.d.ts.map +1 -1
  71. package/lib/typescript/components/optionalExpoImage.web.d.ts +1 -1
  72. package/lib/typescript/components/optionalExpoImage.web.d.ts.map +1 -1
  73. package/lib/typescript/index.d.ts +3 -0
  74. package/lib/typescript/index.d.ts.map +1 -1
  75. package/lib/typescript/types.d.ts +2 -1
  76. package/lib/typescript/types.d.ts.map +1 -1
  77. package/lib/web/index.mjs +4 -0
  78. package/package.json +46 -7
package/README.md CHANGED
@@ -82,3 +82,7 @@ To connect a React Native app to [Buoy Desktop](https://github.com/Buoy-gg/Buoy-
82
82
  Use a Free or Pro Buoy account. History limits and paid features vary by tool; see [pricing](https://buoy.gg/pricing). Production access requires Pro where supported. Development-only hooks and actions remain unavailable in release builds.
83
83
 
84
84
  Use **Duplicates** at the top of the asset list to show every asset that shares a content hash with another asset. The count includes all copies. Selecting it clears the search; select **All** or tap **Duplicates** again to return to the full list.
85
+
86
+ ## Web support (unreleased)
87
+
88
+ Browser capture observes loaded resources. Add the Vite asset manifest or register a manifest from your bundler to include files before they load. The browser build is available in this checkout and has not been published yet. See the [web setup guide](https://buoy.gg/buoy/latest/docs/web-preview) for registration, dependencies, and browser boundaries.
@@ -0,0 +1,7 @@
1
+ /** Vite/Rollup accepts this plugin without a runtime dependency on Vite. */
2
+ export declare function buoyAssets(options?: { filename?: string }): {
3
+ name: string;
4
+ configResolved(config: any): void;
5
+ configureServer(server: any): void;
6
+ generateBundle(this: any, options: any, bundle: any): Promise<void>;
7
+ };
@@ -0,0 +1,53 @@
1
+ import { readdir, readFile } from 'node:fs/promises';
2
+ import { createHash } from 'node:crypto';
3
+ import path from 'node:path';
4
+
5
+ const media = /\.(?:avif|gif|jpe?g|png|svg|webp|ico|woff2?|ttf|otf|eot|mp[34]|m4a|ogg|wav|webm|pdf)$/i;
6
+ const digest = bytes => createHash('sha256').update(bytes).digest('hex');
7
+
8
+ /** Include unrequested assets in Buoy's inventory without downloading them. */
9
+ export function buoyAssets({ filename = 'buoy-assets.json' } = {}) {
10
+ let config;
11
+ const publicEntries = async () => {
12
+ if (!config.publicDir) return [];
13
+ const entries = [];
14
+ async function walk(directory) {
15
+ let children;
16
+ try { children = await readdir(directory, { withFileTypes: true }); }
17
+ catch (error) { if (error.code === 'ENOENT') return; throw error; }
18
+ for (const child of children) {
19
+ const file = path.join(directory, child.name);
20
+ if (child.isDirectory()) await walk(file);
21
+ else if (child.isFile() && media.test(child.name)) {
22
+ const bytes = await readFile(file);
23
+ entries.push({ url: `${config.base}${path.relative(config.publicDir, file).split(path.sep).map(encodeURIComponent).join('/')}`, bytes: bytes.length, hash: digest(bytes) });
24
+ }
25
+ }
26
+ }
27
+ await walk(config.publicDir);
28
+ return entries;
29
+ };
30
+ return {
31
+ name: 'buoy-asset-manifest',
32
+ configResolved(value) { config = value; },
33
+ configureServer(server) {
34
+ server.middlewares.use(async (request, response, next) => {
35
+ if (request.url?.split('?')[0] !== `${config.base}${filename}`) return next();
36
+ try {
37
+ response.setHeader('Content-Type', 'application/json');
38
+ response.setHeader('Cache-Control', 'no-store');
39
+ response.end(JSON.stringify(await publicEntries()));
40
+ } catch (error) { next(error); }
41
+ });
42
+ },
43
+ async generateBundle(_options, bundle) {
44
+ const assets = await publicEntries();
45
+ for (const entry of Object.values(bundle)) {
46
+ if (entry.type !== 'asset' || entry.fileName === filename) continue;
47
+ const bytes = typeof entry.source === 'string' ? Buffer.from(entry.source) : entry.source;
48
+ assets.push({ url: `${config.base}${entry.fileName}`, bytes: bytes.length, hash: digest(bytes) });
49
+ }
50
+ this.emitFile({ type: 'asset', fileName: filename, source: JSON.stringify(assets) });
51
+ },
52
+ };
53
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ var _install = require("./capture/install");
4
+ (0, _install.installAssetCapture)();
5
+ //# sourceMappingURL=autoCapture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_install","require","installAssetCapture"],"sourceRoot":"../../src","sources":["autoCapture.ts"],"mappings":";;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,4BAAmB,EAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=autoCapture.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["autoCapture.web.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startBrowserAssetCapture = startBrowserAssetCapture;
7
+ /** Native asset capture starts when the package is imported. */
8
+ function startBrowserAssetCapture() {
9
+ return () => {};
10
+ }
11
+ //# sourceMappingURL=assetLifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["startBrowserAssetCapture"],"sourceRoot":"../../../src","sources":["capture/assetLifecycle.ts"],"mappings":";;;;;;AAAA;AACO,SAASA,wBAAwBA,CAAA,EAAe;EAAE,OAAO,MAAM,CAAC,CAAC;AAAE","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startBrowserAssetCapture = startBrowserAssetCapture;
7
+ var _install = require("./install.web");
8
+ let owners = 0;
9
+ function startBrowserAssetCapture() {
10
+ if (typeof document === 'undefined') return () => {};
11
+ if (++owners === 1) (0, _install.installAssetCapture)();
12
+ let active = true;
13
+ return () => {
14
+ if (active) {
15
+ active = false;
16
+ if (--owners === 0) (0, _install.stopBrowserAssetCapture)();
17
+ }
18
+ };
19
+ }
20
+ //# sourceMappingURL=assetLifecycle.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_install","require","owners","startBrowserAssetCapture","document","installAssetCapture","active","stopBrowserAssetCapture"],"sourceRoot":"../../../src","sources":["capture/assetLifecycle.web.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAIC,MAAM,GAAG,CAAC;AACP,SAASC,wBAAwBA,CAAA,EAAe;EACrD,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE,OAAO,MAAM,CAAC,CAAC;EACpD,IAAI,EAAEF,MAAM,KAAK,CAAC,EAAE,IAAAG,4BAAmB,EAAC,CAAC;EACzC,IAAIC,MAAM,GAAG,IAAI;EACjB,OAAO,MAAM;IAAE,IAAIA,MAAM,EAAE;MAAEA,MAAM,GAAG,KAAK;MAAE,IAAI,EAAEJ,MAAM,KAAK,CAAC,EAAE,IAAAK,gCAAuB,EAAC,CAAC;IAAE;EAAE,CAAC;AACjG","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.captureBrowserResource = captureBrowserResource;
7
+ exports.getBrowserAssetManifest = getBrowserAssetManifest;
8
+ exports.loadBrowserAssetManifest = loadBrowserAssetManifest;
9
+ exports.registerBrowserAssetManifest = registerBrowserAssetManifest;
10
+ exports.scanBrowserAssets = scanBrowserAssets;
11
+ var _state = require("../state");
12
+ var _assetStore = require("../store/assetStore");
13
+ let manifest = [];
14
+ function registerBrowserAssetManifest(assets) {
15
+ manifest = assets;
16
+ if (typeof document !== 'undefined') scanBrowserAssets();
17
+ }
18
+ function getBrowserAssetManifest() {
19
+ return manifest;
20
+ }
21
+ async function loadBrowserAssetManifest(url) {
22
+ const response = await fetch(url);
23
+ if (!response.ok) throw new Error(`Asset manifest returned HTTP ${response.status}.`);
24
+ const assets = await response.json();
25
+ if (!Array.isArray(assets) || assets.some(asset => !asset || typeof asset.url !== 'string')) throw new Error('An asset manifest must contain an array of assets with URL strings.');
26
+ registerBrowserAssetManifest(assets);
27
+ }
28
+ function upsert(asset, loaded) {
29
+ let url;
30
+ try {
31
+ url = new URL(asset.url, document.baseURI);
32
+ } catch {
33
+ return;
34
+ }
35
+ const filename = url.pathname.split('/').pop() ?? '';
36
+ const type = filename.includes('.') ? filename.split('.').pop().toLowerCase() : 'other';
37
+ const record = (0, _assetStore.upsertRecord)({
38
+ key: url.href,
39
+ name: filename.slice(0, -(type.length + 1)) || filename,
40
+ type,
41
+ origin: loaded ? 'browser' : 'graph',
42
+ resolvedUri: url.href,
43
+ resolvedScale: 1,
44
+ scales: [1],
45
+ hash: asset.hash,
46
+ loaded,
47
+ width: asset.width,
48
+ height: asset.height
49
+ });
50
+ if (record && asset.bytes !== undefined && asset.bytes >= 0) (0, _assetStore.updateRecord)(record.id, {
51
+ sizeBytes: asset.bytes,
52
+ sizesByScale: {
53
+ '1': asset.bytes
54
+ },
55
+ sizeSource: 'measured'
56
+ });
57
+ }
58
+ function captureBrowserResource(entry) {
59
+ // Fetch/XHR traffic belongs to Network. Styles, fonts and media belong here.
60
+ if (entry.initiatorType === 'fetch' || entry.initiatorType === 'xmlhttprequest') return;
61
+ upsert({
62
+ url: entry.name,
63
+ bytes: entry.encodedBodySize > 0 ? entry.encodedBodySize : undefined
64
+ }, true);
65
+ }
66
+ function scanBrowserAssets() {
67
+ if (typeof document === 'undefined' || (0, _state.assetsState)().captureDisabled) return;
68
+ manifest.forEach(asset => upsert(asset, false));
69
+ performance.getEntriesByType('resource').forEach(entry => captureBrowserResource(entry));
70
+ document.querySelectorAll('img').forEach(image => {
71
+ if (!image.closest('[data-buoy-root]') && image.currentSrc) upsert({
72
+ url: image.currentSrc,
73
+ width: image.naturalWidth || undefined,
74
+ height: image.naturalHeight || undefined
75
+ }, image.complete && image.naturalWidth > 0);
76
+ });
77
+ const state = (0, _state.assetsState)();
78
+ state.graphSupported = manifest.length > 0;
79
+ state.graphCount = manifest.length > 0 ? manifest.length : null;
80
+ state.measuredCount = state.records.filter(record => record.sizeBytes !== undefined).length;
81
+ state.lastScanAt = Date.now();
82
+ }
83
+ //# sourceMappingURL=browserAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_state","require","_assetStore","manifest","registerBrowserAssetManifest","assets","document","scanBrowserAssets","getBrowserAssetManifest","loadBrowserAssetManifest","url","response","fetch","ok","Error","status","json","Array","isArray","some","asset","upsert","loaded","URL","baseURI","filename","pathname","split","pop","type","includes","toLowerCase","record","upsertRecord","key","href","name","slice","length","origin","resolvedUri","resolvedScale","scales","hash","width","height","bytes","undefined","updateRecord","id","sizeBytes","sizesByScale","sizeSource","captureBrowserResource","entry","initiatorType","encodedBodySize","assetsState","captureDisabled","forEach","performance","getEntriesByType","querySelectorAll","image","closest","currentSrc","naturalWidth","naturalHeight","complete","state","graphSupported","graphCount","measuredCount","records","filter","lastScanAt","Date","now"],"sourceRoot":"../../../src","sources":["capture/browserAssets.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLoadedFontFamilies = getLoadedFontFamilies;
7
+ exports.getLocalAssets = getLocalAssets;
8
+ function getLoadedFontFamilies() {
9
+ if (typeof document === 'undefined' || !document.fonts) return [];
10
+ const families = new Set();
11
+ document.fonts.forEach(face => {
12
+ if (face.status === 'loaded') families.add(face.family.replace(/^['"]|['"]$/g, ''));
13
+ });
14
+ return [...families].sort();
15
+ }
16
+ function getLocalAssets() {
17
+ return null;
18
+ }
19
+ //# sourceMappingURL=expo.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getLoadedFontFamilies","document","fonts","families","Set","forEach","face","status","add","family","replace","sort","getLocalAssets"],"sourceRoot":"../../../src","sources":["capture/expo.web.ts"],"mappings":";;;;;;;AAAO,SAASA,qBAAqBA,CAAA,EAAa;EAChD,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACA,QAAQ,CAACC,KAAK,EAAE,OAAO,EAAE;EACjE,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAS,CAAC;EAClCH,QAAQ,CAACC,KAAK,CAACG,OAAO,CAACC,IAAI,IAAI;IAAE,IAAIA,IAAI,CAACC,MAAM,KAAK,QAAQ,EAAEJ,QAAQ,CAACK,GAAG,CAACF,IAAI,CAACG,MAAM,CAACC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;EAAE,CAAC,CAAC;EACxH,OAAO,CAAC,GAAGP,QAAQ,CAAC,CAACQ,IAAI,CAAC,CAAC;AAC7B;AACO,SAASC,cAAcA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getScanStatus = getScanStatus;
7
+ exports.installAssetCapture = installAssetCapture;
8
+ exports.rescan = rescan;
9
+ exports.stopBrowserAssetCapture = stopBrowserAssetCapture;
10
+ var _state = require("../state");
11
+ var _assetStore = require("../store/assetStore");
12
+ var _browserAssets = require("./browserAssets");
13
+ var _expo = require("./expo");
14
+ let observer;
15
+ function installAssetCapture() {
16
+ const state = (0, _state.assetsState)();
17
+ if (typeof document === 'undefined' || state.captureDisabled || state.installed) return;
18
+ state.installed = true;
19
+ state.registryAvailable = true;
20
+ if (typeof PerformanceObserver !== 'undefined') {
21
+ observer = new PerformanceObserver(list => {
22
+ if ((0, _state.assetsState)().captureDisabled) {
23
+ stopBrowserAssetCapture();
24
+ return;
25
+ }
26
+ list.getEntries().forEach(entry => (0, _browserAssets.captureBrowserResource)(entry));
27
+ });
28
+ try {
29
+ observer.observe({
30
+ type: 'resource',
31
+ buffered: true
32
+ });
33
+ state.patched = true;
34
+ } catch {
35
+ observer.disconnect();
36
+ observer = undefined;
37
+ }
38
+ }
39
+ (0, _browserAssets.scanBrowserAssets)();
40
+ state.fontFamilies = (0, _expo.getLoadedFontFamilies)();
41
+ (0, _assetStore.invalidate)();
42
+ }
43
+ function stopBrowserAssetCapture() {
44
+ observer?.disconnect();
45
+ observer = undefined;
46
+ (0, _state.assetsState)().installed = false;
47
+ (0, _state.assetsState)().patched = false;
48
+ }
49
+ async function rescan() {
50
+ installAssetCapture();
51
+ (0, _browserAssets.scanBrowserAssets)();
52
+ (0, _state.assetsState)().fontFamilies = (0, _expo.getLoadedFontFamilies)();
53
+ (0, _assetStore.invalidate)();
54
+ return getScanStatus();
55
+ }
56
+ function getScanStatus() {
57
+ const state = (0, _state.assetsState)();
58
+ return state.mirrorScanStatus ?? {
59
+ registryAvailable: state.registryAvailable,
60
+ patched: state.patched,
61
+ registryCount: state.records.filter(record => record.loaded).length,
62
+ graphSupported: state.graphSupported,
63
+ graphCount: state.graphCount,
64
+ graphError: null,
65
+ graphFetchInFlight: false,
66
+ graphFetchStartedAt: null,
67
+ lastScanAt: state.lastScanAt,
68
+ measuring: false,
69
+ measuredCount: state.measuredCount,
70
+ fontFamilies: state.fontFamilies,
71
+ localAssetCount: null,
72
+ browser: true
73
+ };
74
+ }
75
+ //# sourceMappingURL=install.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_state","require","_assetStore","_browserAssets","_expo","observer","installAssetCapture","state","assetsState","document","captureDisabled","installed","registryAvailable","PerformanceObserver","list","stopBrowserAssetCapture","getEntries","forEach","entry","captureBrowserResource","observe","type","buffered","patched","disconnect","undefined","scanBrowserAssets","fontFamilies","getLoadedFontFamilies","invalidate","rescan","getScanStatus","mirrorScanStatus","registryCount","records","filter","record","loaded","length","graphSupported","graphCount","graphError","graphFetchInFlight","graphFetchStartedAt","lastScanAt","measuring","measuredCount","localAssetCount","browser"],"sourceRoot":"../../../src","sources":["capture/install.web.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAII,QAAyC;AACtC,SAASC,mBAAmBA,CAAA,EAAS;EAC1C,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EAAC,CAAC;EAC3B,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAIF,KAAK,CAACG,eAAe,IAAIH,KAAK,CAACI,SAAS,EAAE;EACjFJ,KAAK,CAACI,SAAS,GAAG,IAAI;EACtBJ,KAAK,CAACK,iBAAiB,GAAG,IAAI;EAC9B,IAAI,OAAOC,mBAAmB,KAAK,WAAW,EAAE;IAC9CR,QAAQ,GAAG,IAAIQ,mBAAmB,CAACC,IAAI,IAAI;MACzC,IAAI,IAAAN,kBAAW,EAAC,CAAC,CAACE,eAAe,EAAE;QAAEK,uBAAuB,CAAC,CAAC;QAAE;MAAQ;MACxED,IAAI,CAACE,UAAU,CAAC,CAAC,CAACC,OAAO,CAACC,KAAK,IAAI,IAAAC,qCAAsB,EAACD,KAAkC,CAAC,CAAC;IAChG,CAAC,CAAC;IACF,IAAI;MAAEb,QAAQ,CAACe,OAAO,CAAC;QAAEC,IAAI,EAAE,UAAU;QAAEC,QAAQ,EAAE;MAAK,CAAC,CAAC;MAAEf,KAAK,CAACgB,OAAO,GAAG,IAAI;IAAE,CAAC,CAAC,MAAM;MAAElB,QAAQ,CAACmB,UAAU,CAAC,CAAC;MAAEnB,QAAQ,GAAGoB,SAAS;IAAE;EAC7I;EACA,IAAAC,gCAAiB,EAAC,CAAC;EACnBnB,KAAK,CAACoB,YAAY,GAAG,IAAAC,2BAAqB,EAAC,CAAC;EAC5C,IAAAC,sBAAU,EAAC,CAAC;AACd;AACO,SAASd,uBAAuBA,CAAA,EAAG;EAAEV,QAAQ,EAAEmB,UAAU,CAAC,CAAC;EAAEnB,QAAQ,GAAGoB,SAAS;EAAE,IAAAjB,kBAAW,EAAC,CAAC,CAACG,SAAS,GAAG,KAAK;EAAE,IAAAH,kBAAW,EAAC,CAAC,CAACe,OAAO,GAAG,KAAK;AAAE;AACnJ,eAAeO,MAAMA,CAAA,EAA8B;EAAExB,mBAAmB,CAAC,CAAC;EAAE,IAAAoB,gCAAiB,EAAC,CAAC;EAAE,IAAAlB,kBAAW,EAAC,CAAC,CAACmB,YAAY,GAAG,IAAAC,2BAAqB,EAAC,CAAC;EAAE,IAAAC,sBAAU,EAAC,CAAC;EAAE,OAAOE,aAAa,CAAC,CAAC;AAAE;AAC7L,SAASA,aAAaA,CAAA,EAAqB;EAChD,MAAMxB,KAAK,GAAG,IAAAC,kBAAW,EAAC,CAAC;EAC3B,OAAOD,KAAK,CAACyB,gBAAgB,IAAI;IAAEpB,iBAAiB,EAAEL,KAAK,CAACK,iBAAiB;IAAEW,OAAO,EAAEhB,KAAK,CAACgB,OAAO;IAAEU,aAAa,EAAE1B,KAAK,CAAC2B,OAAO,CAACC,MAAM,CAACC,MAAM,IAAIA,MAAM,CAACC,MAAM,CAAC,CAACC,MAAM;IACxKC,cAAc,EAAEhC,KAAK,CAACgC,cAAc;IAAEC,UAAU,EAAEjC,KAAK,CAACiC,UAAU;IAAEC,UAAU,EAAE,IAAI;IAAEC,kBAAkB,EAAE,KAAK;IAAEC,mBAAmB,EAAE,IAAI;IAC1IC,UAAU,EAAErC,KAAK,CAACqC,UAAU;IAAEC,SAAS,EAAE,KAAK;IAAEC,aAAa,EAAEvC,KAAK,CAACuC,aAAa;IAAEnB,YAAY,EAAEpB,KAAK,CAACoB,YAAY;IAAEoB,eAAe,EAAE,IAAI;IAAEC,OAAO,EAAE;EAAK,CAAC;AAChK","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.displaySource = displaySource;
7
7
  exports.measureSizes = measureSizes;
8
8
  exports.previewURL = previewURL;
9
9
  exports.variantURLs = variantURLs;
10
+ var _reactNative = require("react-native");
10
11
  var _state = require("../state");
11
12
  var _assetStore = require("../store/assetStore");
12
13
  var _metroGraph = require("./metroGraph");
@@ -92,7 +93,7 @@ function variantURLs(record) {
92
93
  }
93
94
  function platformName() {
94
95
  try {
95
- return require("react-native").Platform.OS;
96
+ return _reactNative.Platform.OS;
96
97
  } catch {
97
98
  return "ios";
98
99
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_state","require","_assetStore","_metroGraph","CONCURRENCY","previewURL","record","resolvedUri","variants","variantURLs","length","url","displaySource","mirror","assetsState","captureDisabled","registryId","uri","test","scales","resolved","resolvedScale","pickedSuffix","marker","type","includes","map","scale","suffix","replace","origin","getDevServerOrigin","httpServerLocation","path","name","sep","platformName","hash","Platform","OS","fetchSize","head","fetch","method","ok","Number","headers","get","isFinite","response","blob","size","measureRecord","updateRecord","id","sizeSource","sizesByScale","total","String","sizeBytes","measureSizes","s","measuring","measured","measuredCount","getSnapshot","pending","filter","r","invalidate","index","worker","next","Promise","all","Array","from","Math","min"],"sourceRoot":"../../../src","sources":["capture/measure.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_state","_assetStore","_metroGraph","CONCURRENCY","previewURL","record","resolvedUri","variants","variantURLs","length","url","displaySource","mirror","assetsState","captureDisabled","registryId","uri","test","scales","resolved","resolvedScale","pickedSuffix","marker","type","includes","map","scale","suffix","replace","origin","getDevServerOrigin","httpServerLocation","path","name","sep","platformName","hash","Platform","OS","fetchSize","head","fetch","method","ok","Number","headers","get","isFinite","response","blob","size","measureRecord","updateRecord","id","sizeSource","sizesByScale","total","String","sizeBytes","measureSizes","s","measuring","measured","measuredCount","getSnapshot","pending","filter","r","invalidate","index","worker","next","Promise","all","Array","from","Math","min"],"sourceRoot":"../../../src","sources":["capture/measure.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fetchAssetGraph = fetchAssetGraph;
7
+ exports.getDevServerOrigin = getDevServerOrigin;
8
+ exports.getScriptURL = getScriptURL;
9
+ var _browserAssets = require("./browserAssets");
10
+ function getScriptURL() {
11
+ return null;
12
+ }
13
+ function getDevServerOrigin() {
14
+ return null;
15
+ }
16
+ async function fetchAssetGraph() {
17
+ (0, _browserAssets.scanBrowserAssets)();
18
+ const count = (0, _browserAssets.getBrowserAssetManifest)().length;
19
+ return count ? {
20
+ ok: true,
21
+ count
22
+ } : {
23
+ ok: false,
24
+ message: 'Register a browser asset manifest to inspect files that have not loaded yet.'
25
+ };
26
+ }
27
+ //# sourceMappingURL=metroGraph.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_browserAssets","require","getScriptURL","getDevServerOrigin","fetchAssetGraph","scanBrowserAssets","count","getBrowserAssetManifest","length","ok","message"],"sourceRoot":"../../../src","sources":["capture/metroGraph.web.ts"],"mappings":";;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACO,SAASC,YAAYA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE;AAC7C,SAASC,kBAAkBA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE;AACnD,eAAeC,eAAeA,CAAA,EAAG;EACtC,IAAAC,gCAAiB,EAAC,CAAC;EACnB,MAAMC,KAAK,GAAG,IAAAC,sCAAuB,EAAC,CAAC,CAACC,MAAM;EAC9C,OAAOF,KAAK,GAAG;IAAEG,EAAE,EAAE,IAAI;IAAEH;EAAM,CAAC,GAAG;IAAEG,EAAE,EAAE,KAAK;IAAEC,OAAO,EAAE;EAA+E,CAAC;AAC7I","ignoreList":[]}
@@ -24,6 +24,7 @@ function ScanNotice({
24
24
  return () => clearTimeout(timer);
25
25
  }, [status.graphFetchInFlight, status.graphFetchStartedAt]);
26
26
  const notices = [];
27
+ if (status.browser && !status.graphSupported) notices.push('Showing resources this page has loaded. Add an asset manifest to include files the page has not requested.');
27
28
  if (status.graphFetchInFlight) {
28
29
  notices.push(`Finding assets… ${total} found so far.`);
29
30
  if (slow) notices.push("Still finding assets. This is taking longer than usual.");
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_sharedUi","_testIDs","_jsxRuntime","ScanNotice","status","total","onRetry","slow","setSlow","useState","useEffect","graphFetchInFlight","elapsed","graphFetchStartedAt","Math","max","Date","now","timer","setTimeout","clearTimeout","notices","push","registryAvailable","graphSupported","graphError","failed","measuring","length","jsxs","View","style","styles","notice","testID","ASSETS_TEST_IDS","children","jsx","ActivityIndicator","size","color","night","textSecondary","accessibilityLabel","discoverySpinner","map","n","Text","noticeText","TouchableOpacity","accessibilityRole","onPress","retry","retryText","StyleSheet","create","marginHorizontal","marginBottom","padding","borderRadius","borderWidth","borderColor","border","backgroundColor","surface","gap","fontSize","text","paddingVertical"],"sourceRoot":"../../../src","sources":["components/ScanNotice.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_testIDs","_jsxRuntime","ScanNotice","status","total","onRetry","slow","setSlow","useState","useEffect","graphFetchInFlight","elapsed","graphFetchStartedAt","Math","max","Date","now","timer","setTimeout","clearTimeout","notices","browser","graphSupported","push","registryAvailable","graphError","failed","measuring","length","jsxs","View","style","styles","notice","testID","ASSETS_TEST_IDS","children","jsx","ActivityIndicator","size","color","night","textSecondary","accessibilityLabel","discoverySpinner","map","n","Text","noticeText","TouchableOpacity","accessibilityRole","onPress","retry","retryText","StyleSheet","create","marginHorizontal","marginBottom","padding","borderRadius","borderWidth","borderColor","border","backgroundColor","surface","gap","fontSize","text","paddingVertical"],"sourceRoot":"../../../src","sources":["components/ScanNotice.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getExpoPreviewImage = getExpoPreviewImage;
7
- /** Browser image elements already support SVG. */
8
7
  function getExpoPreviewImage() {
9
8
  return null;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getExpoPreviewImage"],"sourceRoot":"../../../src","sources":["components/optionalExpoImage.web.ts"],"mappings":";;;;;;AAAA;AACO,SAASA,mBAAmBA,CAAA,EAAS;EAC1C,OAAO,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"names":["getExpoPreviewImage"],"sourceRoot":"../../../src","sources":["components/optionalExpoImage.web.ts"],"mappings":";;;;;;AACO,SAASA,mBAAmBA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE","ignoreList":[]}
@@ -153,6 +153,12 @@ Object.defineProperty(exports, "formatInventoryMarkdown", {
153
153
  return _export.formatInventoryMarkdown;
154
154
  }
155
155
  });
156
+ Object.defineProperty(exports, "getBrowserAssetManifest", {
157
+ enumerable: true,
158
+ get: function () {
159
+ return _browserAssets.getBrowserAssetManifest;
160
+ }
161
+ });
156
162
  Object.defineProperty(exports, "getDevServerOrigin", {
157
163
  enumerable: true,
158
164
  get: function () {
@@ -207,12 +213,24 @@ Object.defineProperty(exports, "loadBaseline", {
207
213
  return _baseline.loadBaseline;
208
214
  }
209
215
  });
216
+ Object.defineProperty(exports, "loadBrowserAssetManifest", {
217
+ enumerable: true,
218
+ get: function () {
219
+ return _browserAssets.loadBrowserAssetManifest;
220
+ }
221
+ });
210
222
  Object.defineProperty(exports, "measureSizes", {
211
223
  enumerable: true,
212
224
  get: function () {
213
225
  return _measure.measureSizes;
214
226
  }
215
227
  });
228
+ Object.defineProperty(exports, "registerBrowserAssetManifest", {
229
+ enumerable: true,
230
+ get: function () {
231
+ return _browserAssets.registerBrowserAssetManifest;
232
+ }
233
+ });
216
234
  Object.defineProperty(exports, "replaceAssetsFromSnapshot", {
217
235
  enumerable: true,
218
236
  get: function () {
@@ -237,6 +255,12 @@ Object.defineProperty(exports, "setRemoteAssetsHandler", {
237
255
  return _remote.setRemoteAssetsHandler;
238
256
  }
239
257
  });
258
+ Object.defineProperty(exports, "startBrowserAssetCapture", {
259
+ enumerable: true,
260
+ get: function () {
261
+ return _assetLifecycle.startBrowserAssetCapture;
262
+ }
263
+ });
240
264
  Object.defineProperty(exports, "subscribe", {
241
265
  enumerable: true,
242
266
  get: function () {
@@ -264,50 +288,7 @@ var _export = require("./export");
264
288
  var _assetsSyncAdapter = require("./sync/assetsSyncAdapter");
265
289
  var _remote = require("./remote");
266
290
  var _testIDs = require("./utils/testIDs");
267
- /**
268
- * @buoy-gg/assets — bundled-asset inventory for React Native / Expo.
269
- *
270
- * Enumerates every asset in the app (images, fonts, video, audio, …) via the
271
- * runtime asset registry, enriched in dev with the Metro graph (full-bundle
272
- * coverage, byte sizes, never-loaded detection) and on Expo with loaded font
273
- * families + the updates localAssets map. Zero configuration: importing this
274
- * package installs the (cheap, synchronous) registry capture.
275
- */
276
-
277
- // ---------------------------------------------------------------------------
278
- // Tool preset (FloatingDevTools)
279
- // ---------------------------------------------------------------------------
280
-
281
- // ---------------------------------------------------------------------------
282
- // Components
283
- // ---------------------------------------------------------------------------
284
-
285
- // ---------------------------------------------------------------------------
286
- // Capture / scanning
287
- // ---------------------------------------------------------------------------
288
-
289
- // ---------------------------------------------------------------------------
290
- // Store
291
- // ---------------------------------------------------------------------------
292
-
293
- // ---------------------------------------------------------------------------
294
- // Reports
295
- // ---------------------------------------------------------------------------
296
-
297
- // ---------------------------------------------------------------------------
298
- // External sync (desktop dashboard + MCP)
299
- // ---------------------------------------------------------------------------
300
-
301
- // ---------------------------------------------------------------------------
302
- // Automation handles
303
- // ---------------------------------------------------------------------------
304
-
305
- // ---------------------------------------------------------------------------
306
- // Types
307
- // ---------------------------------------------------------------------------
308
-
309
- // Side effect: install the registry capture at import (walk + patch — cheap,
310
- // synchronous, no network). The Metro graph fetch waits for the modal/action.
311
-
312
- (0, _install.installAssetCapture)();
291
+ require("./autoCapture");
292
+ var _browserAssets = require("./capture/browserAssets");
293
+ var _assetLifecycle = require("./capture/assetLifecycle");
313
294
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_preset","require","_AssetsModal","_AssetsIcon","_install","_measure","_metroGraph","_expo","_assetStore","_insights","_baseline","_useAssetRecords","_export","_assetsSyncAdapter","_remote","_testIDs","installOnImport"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAKA,IAAAO,WAAA,GAAAP,OAAA;AAQA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAOA,IAAAU,gBAAA,GAAAV,OAAA;AAKA,IAAAW,OAAA,GAAAX,OAAA;AAKA,IAAAY,kBAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAUA,IAAAc,QAAA,GAAAd,OAAA;AArEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAMA;AACA;AACA;;AAmBA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;;AAYA;AACA;AACA;;AAeA;AACA;;AAEA,IAAAe,4BAAe,EAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_preset","require","_AssetsModal","_AssetsIcon","_install","_measure","_metroGraph","_expo","_assetStore","_insights","_baseline","_useAssetRecords","_export","_assetsSyncAdapter","_remote","_testIDs","_browserAssets","_assetLifecycle"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAKA,IAAAO,WAAA,GAAAP,OAAA;AAQA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAOA,IAAAU,gBAAA,GAAAV,OAAA;AAKA,IAAAW,OAAA,GAAAX,OAAA;AAKA,IAAAY,kBAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAUA,IAAAc,QAAA,GAAAd,OAAA;AA8BAA,OAAA;AACA,IAAAe,cAAA,GAAAf,OAAA;AACA,IAAAgB,eAAA,GAAAhB,OAAA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { installAssetCapture } from './capture/install';
4
+ installAssetCapture();
5
+ //# sourceMappingURL=autoCapture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["installAssetCapture"],"sourceRoot":"../../src","sources":["autoCapture.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,mBAAmB;AACvDA,mBAAmB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ // Browser capture starts when the tool host mounts.
4
+ export {};
5
+ //# sourceMappingURL=autoCapture.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["autoCapture.web.ts"],"mappings":";;AAAA;AACA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ /** Native asset capture starts when the package is imported. */
4
+ export function startBrowserAssetCapture() {
5
+ return () => {};
6
+ }
7
+ //# sourceMappingURL=assetLifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["startBrowserAssetCapture"],"sourceRoot":"../../../src","sources":["capture/assetLifecycle.ts"],"mappings":";;AAAA;AACA,OAAO,SAASA,wBAAwBA,CAAA,EAAe;EAAE,OAAO,MAAM,CAAC,CAAC;AAAE","ignoreList":[]}