@trackunit/react-core-contexts-test 0.1.233 → 0.1.236

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/index.cjs.js CHANGED
@@ -37,3 +37,4 @@ exports.trackunitProviders = index.trackunitProviders;
37
37
  exports.useDebugger = index.useDebugger;
38
38
  exports.useIsFirstRender = index.useIsFirstRender;
39
39
  exports.validateIrisApp = index.validateIrisApp;
40
+ exports.waitForRenderTanstackRouterQuirk = index.waitForRenderTanstackRouterQuirk;
package/index.cjs2.js CHANGED
@@ -220,9 +220,6 @@ const mockNavigationContext = {
220
220
  gotoCustomerHome: (customerId) => {
221
221
  return Promise.resolve(true);
222
222
  },
223
- gotoMyExports: (exportId) => {
224
- return Promise.resolve(true);
225
- },
226
223
  gotoAdmin: (url) => {
227
224
  return Promise.resolve(true);
228
225
  },
@@ -348,7 +345,11 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
348
345
  route.options.component = entry.component;
349
346
  }
350
347
  else {
351
- route.options.component = () => (jsxRuntime.jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
348
+ route.update({
349
+ component: () => {
350
+ return (jsxRuntime.jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
351
+ },
352
+ });
352
353
  }
353
354
  }
354
355
  });
@@ -362,7 +363,9 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
362
363
  const childRoute = reactRouter.createRoute({
363
364
  path: "/",
364
365
  getParentRoute: () => localRootRoute,
365
- component: () => (jsxRuntime.jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() })),
366
+ component: () => {
367
+ return (jsxRuntime.jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
368
+ },
366
369
  });
367
370
  localRootRoute.addChildren([childRoute]);
368
371
  }
@@ -390,7 +393,7 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
390
393
  }, [rootRoute]);
391
394
  const context = React.useMemo(() => (Object.assign({ hasAccessTo: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), isAuthenticated: true, client, defaultUserRoute: "/" }, ((selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context) || {}))), [client, selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context]);
392
395
  const ErrorComponent = ({ error }) => {
393
- return jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error && error instanceof Error ? error.message : error] });
396
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error instanceof Error ? error.message : error] });
394
397
  };
395
398
  return jsxRuntime.jsx(reactRouter.RouterProvider, { context: context, defaultErrorComponent: ErrorComponent, router: router });
396
399
  };
@@ -435,6 +438,18 @@ const flushPromisesInAct = (waitTimeInMS = 0) => {
435
438
  });
436
439
  });
437
440
  };
441
+ /**
442
+ * This is a temp hack to work around a Tanstack Router quirk.
443
+ * This will wait for the render to finish before resolving the promise.
444
+ *
445
+ * @param rerender - The rerender function.
446
+ */
447
+ const waitForRenderTanstackRouterQuirk = (rerender) => __awaiter(void 0, void 0, void 0, function* () {
448
+ return yield react$1.act(() => __awaiter(void 0, void 0, void 0, function* () {
449
+ rerender();
450
+ yield flushPromises();
451
+ }));
452
+ });
438
453
 
439
454
  /**
440
455
  * This builder allows you to enable trackunit providers using the builder pattern, and then call 1 of either:
@@ -923,7 +938,8 @@ const useDebugger = (propsToWatch, id) => {
923
938
  const prevPropsRef = React.useRef(propsToWatch);
924
939
  const uniqueId = React.useMemo(() => {
925
940
  var _a;
926
- let stackId = id;
941
+ // eslint-disable-next-line local-rules/no-typescript-assertion
942
+ let stackId = id || (propsToWatch && propsToWatch.id);
927
943
  const stack = new Error().stack;
928
944
  if (!stackId && stack) {
929
945
  const stackLines = stack.split("\n");
@@ -936,7 +952,7 @@ const useDebugger = (propsToWatch, id) => {
936
952
  }
937
953
  }
938
954
  return stackId || "unknown-id";
939
- }, [id]);
955
+ }, [id, propsToWatch]);
940
956
  const isFirstRender = useIsFirstRender();
941
957
  // eslint-disable-next-line no-console
942
958
  console.log(isFirstRender ? "First-render" : "Re-render", uniqueId, window.location.pathname);
@@ -996,8 +1012,6 @@ const Debugger = ({ id, logPropsChanges, stop, children, }) => {
996
1012
  ((_g = (_f = new Error().stack) === null || _f === void 0 ? void 0 : _f.split("\n")[2]) === null || _g === void 0 ? void 0 : _g.trim()) ||
997
1013
  "unknown-id";
998
1014
  useDebugger(logPropsChanges || {}, id);
999
- // eslint-disable-next-line no-console
1000
- console.log(`${uniqueId} Debugger is rendering`);
1001
1015
  React.useEffect(() => {
1002
1016
  // eslint-disable-next-line no-console
1003
1017
  console.log(`${uniqueId} Debugger is mounting`);
@@ -1168,3 +1182,4 @@ exports.trackunitProviders = trackunitProviders;
1168
1182
  exports.useDebugger = useDebugger;
1169
1183
  exports.useIsFirstRender = useIsFirstRender;
1170
1184
  exports.validateIrisApp = validateIrisApp;
1185
+ exports.waitForRenderTanstackRouterQuirk = waitForRenderTanstackRouterQuirk;
package/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- export { D as Debugger, T as TrackunitProvidersMockBuilder, i as doNothing, f as flushPromises, k as flushPromisesInAct, m as mockAnalyticsContext, b as mockAssetSortingContext, c as mockCurrentUserContext, d as mockEnvironmentContext, e as mockOemBrandingContext, g as mockToastContext, h as mockUserSubscriptionContext, q as queryFor, j as queryForHook, t as trackunitProviders, a as useDebugger, u as useIsFirstRender, v as validateIrisApp } from './index.esm2.js';
1
+ export { D as Debugger, T as TrackunitProvidersMockBuilder, i as doNothing, f as flushPromises, k as flushPromisesInAct, m as mockAnalyticsContext, b as mockAssetSortingContext, c as mockCurrentUserContext, d as mockEnvironmentContext, e as mockOemBrandingContext, g as mockToastContext, h as mockUserSubscriptionContext, q as queryFor, j as queryForHook, t as trackunitProviders, a as useDebugger, u as useIsFirstRender, v as validateIrisApp, w as waitForRenderTanstackRouterQuirk } from './index.esm2.js';
2
2
  import 'react/jsx-runtime';
3
3
  import '@testing-library/react';
4
4
  import '@trackunit/react-core-hooks';
package/index.esm2.js CHANGED
@@ -213,9 +213,6 @@ const mockNavigationContext = {
213
213
  gotoCustomerHome: (customerId) => {
214
214
  return Promise.resolve(true);
215
215
  },
216
- gotoMyExports: (exportId) => {
217
- return Promise.resolve(true);
218
- },
219
216
  gotoAdmin: (url) => {
220
217
  return Promise.resolve(true);
221
218
  },
@@ -341,7 +338,11 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
341
338
  route.options.component = entry.component;
342
339
  }
343
340
  else {
344
- route.options.component = () => (jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
341
+ route.update({
342
+ component: () => {
343
+ return (jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
344
+ },
345
+ });
345
346
  }
346
347
  }
347
348
  });
@@ -355,7 +356,9 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
355
356
  const childRoute = createRoute({
356
357
  path: "/",
357
358
  getParentRoute: () => localRootRoute,
358
- component: () => (jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() })),
359
+ component: () => {
360
+ return (jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
361
+ },
359
362
  });
360
363
  localRootRoute.addChildren([childRoute]);
361
364
  }
@@ -383,7 +386,7 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
383
386
  }, [rootRoute]);
384
387
  const context = useMemo(() => (Object.assign({ hasAccessTo: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), isAuthenticated: true, client, defaultUserRoute: "/" }, ((selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context) || {}))), [client, selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context]);
385
388
  const ErrorComponent = ({ error }) => {
386
- return jsxs(Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error && error instanceof Error ? error.message : error] });
389
+ return jsxs(Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error instanceof Error ? error.message : error] });
387
390
  };
388
391
  return jsx(RouterProvider, { context: context, defaultErrorComponent: ErrorComponent, router: router });
389
392
  };
@@ -428,6 +431,18 @@ const flushPromisesInAct = (waitTimeInMS = 0) => {
428
431
  });
429
432
  });
430
433
  };
434
+ /**
435
+ * This is a temp hack to work around a Tanstack Router quirk.
436
+ * This will wait for the render to finish before resolving the promise.
437
+ *
438
+ * @param rerender - The rerender function.
439
+ */
440
+ const waitForRenderTanstackRouterQuirk = (rerender) => __awaiter(void 0, void 0, void 0, function* () {
441
+ return yield act(() => __awaiter(void 0, void 0, void 0, function* () {
442
+ rerender();
443
+ yield flushPromises();
444
+ }));
445
+ });
431
446
 
432
447
  /**
433
448
  * This builder allows you to enable trackunit providers using the builder pattern, and then call 1 of either:
@@ -916,7 +931,8 @@ const useDebugger = (propsToWatch, id) => {
916
931
  const prevPropsRef = useRef(propsToWatch);
917
932
  const uniqueId = useMemo(() => {
918
933
  var _a;
919
- let stackId = id;
934
+ // eslint-disable-next-line local-rules/no-typescript-assertion
935
+ let stackId = id || (propsToWatch && propsToWatch.id);
920
936
  const stack = new Error().stack;
921
937
  if (!stackId && stack) {
922
938
  const stackLines = stack.split("\n");
@@ -929,7 +945,7 @@ const useDebugger = (propsToWatch, id) => {
929
945
  }
930
946
  }
931
947
  return stackId || "unknown-id";
932
- }, [id]);
948
+ }, [id, propsToWatch]);
933
949
  const isFirstRender = useIsFirstRender();
934
950
  // eslint-disable-next-line no-console
935
951
  console.log(isFirstRender ? "First-render" : "Re-render", uniqueId, window.location.pathname);
@@ -989,8 +1005,6 @@ const Debugger = ({ id, logPropsChanges, stop, children, }) => {
989
1005
  ((_g = (_f = new Error().stack) === null || _f === void 0 ? void 0 : _f.split("\n")[2]) === null || _g === void 0 ? void 0 : _g.trim()) ||
990
1006
  "unknown-id";
991
1007
  useDebugger(logPropsChanges || {}, id);
992
- // eslint-disable-next-line no-console
993
- console.log(`${uniqueId} Debugger is rendering`);
994
1008
  useEffect(() => {
995
1009
  // eslint-disable-next-line no-console
996
1010
  console.log(`${uniqueId} Debugger is mounting`);
@@ -1142,4 +1156,4 @@ const validateIrisApp = (irisApp) => __awaiter(void 0, void 0, void 0, function*
1142
1156
  return null;
1143
1157
  });
1144
1158
 
1145
- export { Debugger as D, TrackunitProvidersMockBuilder as T, __awaiter as _, useDebugger as a, mockAssetSortingContext as b, mockCurrentUserContext as c, mockEnvironmentContext as d, mockOemBrandingContext as e, flushPromises as f, mockToastContext as g, mockUserSubscriptionContext as h, doNothing as i, queryForHook as j, flushPromisesInAct as k, mockAnalyticsContext as m, queryFor as q, trackunitProviders as t, useIsFirstRender as u, validateIrisApp as v };
1159
+ export { Debugger as D, TrackunitProvidersMockBuilder as T, __awaiter as _, useDebugger as a, mockAssetSortingContext as b, mockCurrentUserContext as c, mockEnvironmentContext as d, mockOemBrandingContext as e, flushPromises as f, mockToastContext as g, mockUserSubscriptionContext as h, doNothing as i, queryForHook as j, flushPromisesInAct as k, mockAnalyticsContext as m, queryFor as q, trackunitProviders as t, useIsFirstRender as u, validateIrisApp as v, waitForRenderTanstackRouterQuirk as w };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-core-contexts-test",
3
- "version": "0.1.233",
3
+ "version": "0.1.236",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -14,7 +14,7 @@
14
14
  "@trackunit/react-core-hooks": "*",
15
15
  "lodash": "4.17.21",
16
16
  "graphql": "^15.8.0",
17
- "@tanstack/react-router": "1.31.6",
17
+ "@tanstack/react-router": "1.40.0",
18
18
  "@trackunit/shared-utils": "*"
19
19
  },
20
20
  "module": "./index.esm.js",
@@ -14,3 +14,10 @@ export declare const flushPromises: (waitTimeInMS?: number) => Promise<unknown>;
14
14
  * @returns {Promise<void>} - Returns a promise that resolves after the wait time.
15
15
  */
16
16
  export declare const flushPromisesInAct: (waitTimeInMS?: number) => Promise<unknown>;
17
+ /**
18
+ * This is a temp hack to work around a Tanstack Router quirk.
19
+ * This will wait for the render to finish before resolving the promise.
20
+ *
21
+ * @param rerender - The rerender function.
22
+ */
23
+ export declare const waitForRenderTanstackRouterQuirk: (rerender: () => void) => Promise<void>;