@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.
- package/README.md +4 -0
- package/bundlers/vite.d.ts +7 -0
- package/bundlers/vite.mjs +53 -0
- package/lib/commonjs/autoCapture.js +5 -0
- package/lib/commonjs/autoCapture.js.map +1 -0
- package/lib/commonjs/autoCapture.web.js +6 -0
- package/lib/commonjs/autoCapture.web.js.map +1 -0
- package/lib/commonjs/capture/assetLifecycle.js +11 -0
- package/lib/commonjs/capture/assetLifecycle.js.map +1 -0
- package/lib/commonjs/capture/assetLifecycle.web.js +20 -0
- package/lib/commonjs/capture/assetLifecycle.web.js.map +1 -0
- package/lib/commonjs/capture/browserAssets.js +83 -0
- package/lib/commonjs/capture/browserAssets.js.map +1 -0
- package/lib/commonjs/capture/expo.web.js +19 -0
- package/lib/commonjs/capture/expo.web.js.map +1 -0
- package/lib/commonjs/capture/install.web.js +75 -0
- package/lib/commonjs/capture/install.web.js.map +1 -0
- package/lib/commonjs/capture/measure.js +2 -1
- package/lib/commonjs/capture/measure.js.map +1 -1
- package/lib/commonjs/capture/metroGraph.web.js +27 -0
- package/lib/commonjs/capture/metroGraph.web.js.map +1 -0
- package/lib/commonjs/components/ScanNotice.js +1 -0
- package/lib/commonjs/components/ScanNotice.js.map +1 -1
- package/lib/commonjs/components/optionalExpoImage.web.js +0 -1
- package/lib/commonjs/components/optionalExpoImage.web.js.map +1 -1
- package/lib/commonjs/index.js +27 -46
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/autoCapture.js +5 -0
- package/lib/module/autoCapture.js.map +1 -0
- package/lib/module/autoCapture.web.js +5 -0
- package/lib/module/autoCapture.web.js.map +1 -0
- package/lib/module/capture/assetLifecycle.js +7 -0
- package/lib/module/capture/assetLifecycle.js.map +1 -0
- package/lib/module/capture/assetLifecycle.web.js +16 -0
- package/lib/module/capture/assetLifecycle.web.js.map +1 -0
- package/lib/module/capture/browserAssets.js +75 -0
- package/lib/module/capture/browserAssets.js.map +1 -0
- package/lib/module/capture/expo.web.js +14 -0
- package/lib/module/capture/expo.web.js.map +1 -0
- package/lib/module/capture/install.web.js +68 -0
- package/lib/module/capture/install.web.js.map +1 -0
- package/lib/module/capture/measure.js +2 -1
- package/lib/module/capture/measure.js.map +1 -1
- package/lib/module/capture/metroGraph.web.js +21 -0
- package/lib/module/capture/metroGraph.web.js.map +1 -0
- package/lib/module/components/ScanNotice.js +1 -0
- package/lib/module/components/ScanNotice.js.map +1 -1
- package/lib/module/components/optionalExpoImage.web.js +0 -1
- package/lib/module/components/optionalExpoImage.web.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/autoCapture.d.ts +2 -0
- package/lib/typescript/autoCapture.d.ts.map +1 -0
- package/lib/typescript/autoCapture.web.d.ts +2 -0
- package/lib/typescript/autoCapture.web.d.ts.map +1 -0
- package/lib/typescript/capture/assetLifecycle.d.ts +3 -0
- package/lib/typescript/capture/assetLifecycle.d.ts.map +1 -0
- package/lib/typescript/capture/assetLifecycle.web.d.ts +2 -0
- package/lib/typescript/capture/assetLifecycle.web.d.ts.map +1 -0
- package/lib/typescript/capture/browserAssets.d.ts +13 -0
- package/lib/typescript/capture/browserAssets.d.ts.map +1 -0
- package/lib/typescript/capture/expo.web.d.ts +3 -0
- package/lib/typescript/capture/expo.web.d.ts.map +1 -0
- package/lib/typescript/capture/install.web.d.ts +6 -0
- package/lib/typescript/capture/install.web.d.ts.map +1 -0
- package/lib/typescript/capture/measure.d.ts +0 -10
- package/lib/typescript/capture/measure.d.ts.map +1 -1
- package/lib/typescript/capture/metroGraph.web.d.ts +12 -0
- package/lib/typescript/capture/metroGraph.web.d.ts.map +1 -0
- package/lib/typescript/components/ScanNotice.d.ts.map +1 -1
- package/lib/typescript/components/optionalExpoImage.web.d.ts +1 -1
- package/lib/typescript/components/optionalExpoImage.web.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +3 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +2 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/web/index.mjs +4 -0
- 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 @@
|
|
|
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 @@
|
|
|
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
|
|
96
|
+
return _reactNative.Platform.OS;
|
|
96
97
|
} catch {
|
|
97
98
|
return "ios";
|
|
98
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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","
|
|
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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getExpoPreviewImage"],"sourceRoot":"../../../src","sources":["components/optionalExpoImage.web.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["getExpoPreviewImage"],"sourceRoot":"../../../src","sources":["components/optionalExpoImage.web.ts"],"mappings":";;;;;;AACO,SAASA,mBAAmBA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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
|
-
|
|
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","
|
|
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 @@
|
|
|
1
|
+
{"version":3,"names":["installAssetCapture"],"sourceRoot":"../../src","sources":["autoCapture.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,mBAAmB;AACvDA,mBAAmB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["autoCapture.web.ts"],"mappings":";;AAAA;AACA","ignoreList":[]}
|
|
@@ -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":[]}
|