@buoy-gg/route-events 7.0.27 → 7.0.28

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.
@@ -123,7 +123,8 @@ const routeEventsSyncAdapter = exports.routeEventsSyncAdapter = {
123
123
  * dynamic params into a concrete path before invoking this.
124
124
  */
125
125
  navigate: params => {
126
- const path = params?.path;
126
+ const p = params;
127
+ const path = p?.path;
127
128
  if (!path) {
128
129
  throw new Error("navigate requires a 'path' param");
129
130
  }
@@ -131,9 +132,14 @@ const routeEventsSyncAdapter = exports.routeEventsSyncAdapter = {
131
132
  if (!router) {
132
133
  throw new Error("expo-router is not available on this device");
133
134
  }
134
- router.navigate(path);
135
+ // Push by default so navigate-then-back flows keep working. Callers that
136
+ // mean "leave this screen" (sitemap Go, agents resetting to home) pass
137
+ // replace: true — otherwise "Go to home" stacks another `/` on top.
138
+ const go = p?.replace === true && typeof router.replace === "function" ? router.replace : router.navigate;
139
+ go(path);
135
140
  return {
136
- navigated: path
141
+ navigated: path,
142
+ replaced: p?.replace === true
137
143
  };
138
144
  },
139
145
  // ── Stack actions: delegate to the live navigation actions captured by
@@ -121,7 +121,8 @@ export const routeEventsSyncAdapter = {
121
121
  * dynamic params into a concrete path before invoking this.
122
122
  */
123
123
  navigate: params => {
124
- const path = params?.path;
124
+ const p = params;
125
+ const path = p?.path;
125
126
  if (!path) {
126
127
  throw new Error("navigate requires a 'path' param");
127
128
  }
@@ -129,9 +130,14 @@ export const routeEventsSyncAdapter = {
129
130
  if (!router) {
130
131
  throw new Error("expo-router is not available on this device");
131
132
  }
132
- router.navigate(path);
133
+ // Push by default so navigate-then-back flows keep working. Callers that
134
+ // mean "leave this screen" (sitemap Go, agents resetting to home) pass
135
+ // replace: true — otherwise "Go to home" stacks another `/` on top.
136
+ const go = p?.replace === true && typeof router.replace === "function" ? router.replace : router.navigate;
137
+ go(path);
133
138
  return {
134
- navigated: path
139
+ navigated: path,
140
+ replaced: p?.replace === true
135
141
  };
136
142
  },
137
143
  // ── Stack actions: delegate to the live navigation actions captured by
@@ -58,6 +58,7 @@ export declare const routeEventsSyncAdapter: {
58
58
  */
59
59
  navigate: (params?: unknown) => {
60
60
  navigated: string;
61
+ replaced: boolean;
61
62
  };
62
63
  stackNavigateToIndex: (params?: unknown) => {
63
64
  navigatedToIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"routeEventsSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/routeEventsSyncAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,QAAY,CAAC;AA4BrD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IAC/B,6EAA6E;IAC7E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,8EAA8E;IAC9E,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAWD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;uBAEhB,sBAAsB;0BAKjB,MAAM,IAAI;;;QAkC9B;;;WAGG;4BACiB,OAAO;;;wCAcK,OAAO;;;mCAUZ,OAAO;;;;;;;;;;CAuBrC,CAAC"}
1
+ {"version":3,"file":"routeEventsSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/routeEventsSyncAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,QAAY,CAAC;AA4BrD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IAC/B,6EAA6E;IAC7E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,8EAA8E;IAC9E,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAWD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;uBAEhB,sBAAsB;0BAKjB,MAAM,IAAI;;;QAkC9B;;;WAGG;4BACiB,OAAO;;;;wCAsBK,OAAO;;;mCAUZ,OAAO;;;;;;;;;;CAuBrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/route-events",
3
- "version": "7.0.27",
3
+ "version": "7.0.28",
4
4
  "description": "Navigation devtool for React Native — live stack, full sitemap, jump to any screen. Expo Router & React Navigation. Part of Buoy devtools.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -26,11 +26,11 @@
26
26
  ],
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@buoy-gg/shared-ui": "^7.0.27",
30
- "@buoy-gg/floating-tools-core": "^7.0.27"
29
+ "@buoy-gg/floating-tools-core": "^7.0.28",
30
+ "@buoy-gg/shared-ui": "^7.0.28"
31
31
  },
32
32
  "peerDependencies": {
33
- "@buoy-gg/license": "7.0.27",
33
+ "@buoy-gg/license": "7.0.28",
34
34
  "@react-native-async-storage/async-storage": "^2.0.0 || ^3.1.0",
35
35
  "@react-navigation/native": "*",
36
36
  "expo-router": "*",
@@ -52,7 +52,7 @@
52
52
  "@types/react-native": "^0.73.0",
53
53
  "expo-router": "~5.0.7",
54
54
  "typescript": "~5.8.3",
55
- "@buoy-gg/license": "^7.0.27"
55
+ "@buoy-gg/license": "^7.0.28"
56
56
  },
57
57
  "react-native-builder-bob": {
58
58
  "source": "src",