@buoy-gg/highlight-updates 7.0.36 → 7.0.39
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 +28 -6
- package/lib/commonjs/highlight-updates/components/RendersCopySettingsView.js +3 -0
- package/lib/module/highlight-updates/components/RendersCopySettingsView.js +3 -0
- package/lib/typescript/highlight-updates/components/RendersCopySettingsView.d.ts.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@buoy-gg/highlight-updates) [](https://www.npmjs.com/package/@buoy-gg/highlight-updates)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Highlight observed React component updates in development builds and inspect the available render details.
|
|
6
6
|
|
|
7
|
-
Part of [Buoy](https://github.com/Buoy-gg/buoy)
|
|
7
|
+
Part of [Buoy](https://github.com/Buoy-gg/buoy). Install the package, complete account setup, and follow the integration steps below.
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
@@ -12,6 +12,24 @@ Part of [Buoy](https://github.com/Buoy-gg/buoy) — devtools that live inside yo
|
|
|
12
12
|
npm install @buoy-gg/core @buoy-gg/highlight-updates
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
## Before you start
|
|
16
|
+
|
|
17
|
+
Use a development build with `@buoy-gg/core` and a Free or Pro Buoy account key. From your app’s directory, sign in:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx --package=@buoy-gg/core buoy login
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
For Expo, initialize Buoy before rendering the menu:
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { Buoy } from "@buoy-gg/core";
|
|
27
|
+
|
|
28
|
+
Buoy.init({ licenseKey: process.env.EXPO_PUBLIC_BUOY_KEY });
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The login command writes the Expo key to `.env.local`. For React Native CLI, pass the key from your app’s environment configuration; React Native does not load `.env.local` automatically. Mount `FloatingDevTools` inside the same providers as your screens and restart the development server after installation. The [Quick Start](https://buoy.gg/buoy/latest/docs/quick-start) shows the complete root component setup.
|
|
32
|
+
|
|
15
33
|
## Quick start
|
|
16
34
|
|
|
17
35
|
```tsx
|
|
@@ -37,9 +55,13 @@ import { HighlightUpdatesController } from "@buoy-gg/highlight-updates";
|
|
|
37
55
|
HighlightUpdatesController.toggle();
|
|
38
56
|
```
|
|
39
57
|
|
|
58
|
+
## Check the integration
|
|
59
|
+
|
|
60
|
+
In a development build, open the tool and update a visible component’s state. Confirm that an update is highlighted. Capture depends on React’s development hooks; Pro does not make those hooks available in a release build.
|
|
61
|
+
|
|
40
62
|
## What you get
|
|
41
63
|
|
|
42
|
-
- **Render overlays with the cause** —
|
|
64
|
+
- **Render overlays with the cause** — observed updates flash a bounding box with the available mount, state, props, or parent-update classification.
|
|
43
65
|
- **Hook value tracking** — when state caused the render, see the before → after values of the exact `useState` or `useReducer` that changed.
|
|
44
66
|
- **Overlay mode** — lightweight real-time highlights while you interact with the app; perfect for spotting unnecessary re-renders.
|
|
45
67
|
- **Modal mode** — full inspector with render history, filtering, and detailed per-render cause breakdowns for deep debugging sessions.
|
|
@@ -48,11 +70,11 @@ HighlightUpdatesController.toggle();
|
|
|
48
70
|
|
|
49
71
|
## Desktop & AI
|
|
50
72
|
|
|
51
|
-
|
|
73
|
+
To connect a React Native app to [Buoy Desktop](https://github.com/Buoy-gg/Buoy-Desktop) or MCP, install `@buoy-gg/external-sync` and follow the [Desktop connection guide](https://buoy.gg/buoy/latest/docs/desktop). Sign in to Desktop separately. [MCP setup](https://buoy.gg/buoy/latest/docs/mcp) also requires a process account and Pro access. Available remote actions depend on the tool and app integration.
|
|
52
74
|
|
|
53
|
-
##
|
|
75
|
+
## Account and plan requirements
|
|
54
76
|
|
|
55
|
-
|
|
77
|
+
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.
|
|
56
78
|
|
|
57
79
|
---
|
|
58
80
|
|
|
@@ -132,7 +132,10 @@ function RendersCopySettingsView({
|
|
|
132
132
|
}, [estimatedSize]);
|
|
133
133
|
const generateCopyText = (0, _react.useCallback)(() => (0, _rendersExportFormatter.generateExport)(previewRenders, settings), [previewRenders, settings]);
|
|
134
134
|
const applyPreset = (0, _react.useCallback)(name => {
|
|
135
|
+
// "Custom" is what the list shows once the settings match no preset;
|
|
136
|
+
// choosing it changes nothing.
|
|
135
137
|
const preset = _copySettings.COPY_PRESETS[name];
|
|
138
|
+
if (!preset) return;
|
|
136
139
|
updateSettings({
|
|
137
140
|
...preset,
|
|
138
141
|
filterCauses: [...preset.filterCauses]
|
|
@@ -128,7 +128,10 @@ export function RendersCopySettingsView({
|
|
|
128
128
|
}, [estimatedSize]);
|
|
129
129
|
const generateCopyText = useCallback(() => generateExport(previewRenders, settings), [previewRenders, settings]);
|
|
130
130
|
const applyPreset = useCallback(name => {
|
|
131
|
+
// "Custom" is what the list shows once the settings match no preset;
|
|
132
|
+
// choosing it changes nothing.
|
|
131
133
|
const preset = COPY_PRESETS[name];
|
|
134
|
+
if (!preset) return;
|
|
132
135
|
updateSettings({
|
|
133
136
|
...preset,
|
|
134
137
|
filterCauses: [...preset.filterCauses]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RendersCopySettingsView.d.ts","sourceRoot":"","sources":["../../../../src/highlight-updates/components/RendersCopySettingsView.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AAmB7E,UAAU,4BAA4B;IACpC,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AA+ED,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,GACR,EAAE,4BAA4B,+
|
|
1
|
+
{"version":3,"file":"RendersCopySettingsView.d.ts","sourceRoot":"","sources":["../../../../src/highlight-updates/components/RendersCopySettingsView.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AAmB7E,UAAU,4BAA4B;IACpC,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AA+ED,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,GACR,EAAE,4BAA4B,+BA0Y9B"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/highlight-updates",
|
|
3
|
-
"version": "7.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "7.0.39",
|
|
4
|
+
"description": "Highlight observed React Native renders and inspect available render diagnostics.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
7
7
|
"types": "lib/typescript/index.d.ts",
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
],
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@buoy-gg/shared-ui": "^7.0.
|
|
30
|
-
"@buoy-gg/floating-tools-core": "^7.0.
|
|
29
|
+
"@buoy-gg/shared-ui": "^7.0.39",
|
|
30
|
+
"@buoy-gg/floating-tools-core": "^7.0.39"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@buoy-gg/license": "7.0.
|
|
33
|
+
"@buoy-gg/license": "7.0.39",
|
|
34
34
|
"react": "*",
|
|
35
35
|
"react-native": "*",
|
|
36
|
-
"@buoy-gg/core": "^7.0.
|
|
36
|
+
"@buoy-gg/core": "^7.0.39"
|
|
37
37
|
},
|
|
38
38
|
"peerDependenciesMeta": {
|
|
39
39
|
"@buoy-gg/core": {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"@types/react": "^19.1.0",
|
|
45
45
|
"@types/react-native": "^0.73.0",
|
|
46
46
|
"typescript": "~5.8.3",
|
|
47
|
-
"@buoy-gg/core": "^7.0.
|
|
48
|
-
"@buoy-gg/license": "^7.0.
|
|
47
|
+
"@buoy-gg/core": "^7.0.39",
|
|
48
|
+
"@buoy-gg/license": "^7.0.39"
|
|
49
49
|
},
|
|
50
50
|
"react-native-builder-bob": {
|
|
51
51
|
"source": "src",
|