eddev 2.0.0-beta.194 → 2.0.0-beta.196

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.
@@ -1,9 +1,13 @@
1
1
  import { PropsWithChildren } from "react";
2
- import { type RouterAPI } from "../types.js";
2
+ import { RouterAPIState, type RouterAPI } from "../types.js";
3
3
  type Props = PropsWithChildren<{
4
4
  routerRef?: React.MutableRefObject<RouterAPI | null>;
5
5
  onReady?: () => void;
6
6
  }>;
7
+ export declare function getClientRouter(): {
8
+ state: RouterAPIState;
9
+ api: RouterAPI;
10
+ } | null;
7
11
  export declare function BrowserRouter(props: Props): import("react/jsx-runtime").JSX.Element;
8
12
  export {};
9
13
  //# sourceMappingURL=BrowserRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/BrowserRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuD,MAAM,OAAO,CAAA;AAK9F,OAAO,EAML,KAAK,SAAS,EAGf,MAAM,aAAa,CAAA;AAWpB,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAC,CAAA;AAuEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,2CAmbzC"}
1
+ {"version":3,"file":"BrowserRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/BrowserRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuD,MAAM,OAAO,CAAA;AAK9F,OAAO,EAEL,cAAc,EAId,KAAK,SAAS,EAGf,MAAM,aAAa,CAAA;AAWpB,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAC,CAAA;AAuEF,wBAAgB,eAAe;WAFJ,cAAc;SAAO,SAAS;SAIxD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,2CA8bzC"}
@@ -66,7 +66,10 @@ function historyStateForRoute(route) {
66
66
  state: route.returnState,
67
67
  };
68
68
  }
69
- let lastRouterState = null;
69
+ let clientRouter = null;
70
+ export function getClientRouter() {
71
+ return clientRouter;
72
+ }
70
73
  export function BrowserRouter(props) {
71
74
  const pendingRoute = useRef(null);
72
75
  const [transitioning, startTransition] = useTransition();
@@ -75,9 +78,6 @@ export function BrowserRouter(props) {
75
78
  history: [initialRoute],
76
79
  blockers: [],
77
80
  }));
78
- if (lastRouterState !== routerState) {
79
- lastRouterState = routerState;
80
- }
81
81
  const { internals, api } = useMemo(() => {
82
82
  let subscribers = new Set();
83
83
  let state = routerState;
@@ -98,6 +98,15 @@ export function BrowserRouter(props) {
98
98
  }
99
99
  setRouterState(state);
100
100
  };
101
+ // If a dynamic compojnent fails to load during a page transition, we need to reload the page
102
+ subscribers.add((event) => {
103
+ if (event.type === "error:component-load-failed") {
104
+ if (state?.pendingRoute) {
105
+ console.warn("Failed to load route component. May be a deployment mismatch.");
106
+ window.location.href = state.pendingRoute.uri;
107
+ }
108
+ }
109
+ });
101
110
  const internals = {
102
111
  transitionEnded: null,
103
112
  updateRoute: null,
@@ -449,5 +458,9 @@ export function BrowserRouter(props) {
449
458
  useEffect(() => {
450
459
  props.onReady?.();
451
460
  }, []);
461
+ clientRouter = {
462
+ state: routerState,
463
+ api,
464
+ };
452
465
  return (_jsx(RouterContext.Provider, { value: api, children: _jsx(RouterStateContext.Provider, { value: routerState, children: _jsx(AppRenderer, {}) }) }));
453
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RouteRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/RouteRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,eAAO,MAAM,WAAW,oFAatB,CAAA;AAEF,wBAAgB,SAAS,4CAGxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,2CAcxD;yBAde,YAAY"}
1
+ {"version":3,"file":"RouteRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/RouteRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,eAAO,MAAM,WAAW,oFAatB,CAAA;AAEF,wBAAgB,SAAS,4CAGxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,2CA2BxD;yBA3Be,YAAY"}
@@ -21,9 +21,19 @@ export function RouteDisplay(props) {
21
21
  if (!Component) {
22
22
  console.error("No component for route");
23
23
  }
24
+ const router = useRouter();
24
25
  return useMemo(() => {
25
26
  let child = !!Component && _jsx(Component, { ...props.route.props });
26
- return (_jsx(RouteErrorBoundary, { route: props.route, children: _jsx(RouteItemContext.Provider, { value: props.route, children: child }) }));
27
+ return (_jsx(RouteErrorBoundary, { route: props.route, onError: (error, errorInfo) => {
28
+ if (env.client) {
29
+ if (error.message.includes("Failed to fetch dynamically imported module")) {
30
+ router.emitEvent({
31
+ type: "error:component-load-failed",
32
+ error,
33
+ });
34
+ }
35
+ }
36
+ }, children: _jsx(RouteItemContext.Provider, { value: props.route, children: child }) }));
27
37
  }, [Component, props.route, props.route]);
28
38
  }
29
39
  RouteDisplay.displayName = "RouteDisplay";
@@ -84,6 +84,10 @@ export type RouterEvent = ({
84
84
  type: "error";
85
85
  critical: boolean;
86
86
  url?: string;
87
+ shouldReload?: boolean;
88
+ error: Error;
89
+ } | {
90
+ type: "error:component-load-failed";
87
91
  error: Error;
88
92
  };
89
93
  export type RouterSubscriber = (event: RouterEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAExF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAExE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,WAQvC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,WAIlD;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAEjG,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5G,wBAAgB,kBAAkB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,eAAe,CA+DrH;AAED,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAEpF,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,GAAG,aAAa,GAAG,KAAK,CAAC,GAAG,UAAU,CAavG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,UAMlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAI3E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,UAOxC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAMvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,UAKpD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAExF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAExE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,WAQvC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,WAIlD;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAEjG,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5G,wBAAgB,kBAAkB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,eAAe,CAmErH;AAED,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAEpF,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,GAAG,aAAa,GAAG,KAAK,CAAC,GAAG,UAAU,CAavG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,UAMlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAI3E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,UAOxC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAMvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,UAKpD"}
@@ -35,6 +35,9 @@ export function getLinkHandlerMode(e, href, currentRoute) {
35
35
  href = eventTarget.href;
36
36
  if (!href)
37
37
  return { mode: "native", href };
38
+ if (href.match(/^(mailto|tel|callto|sms|maps):/)) {
39
+ return { mode: "native", href };
40
+ }
38
41
  // Resolve the URL and check if it's the same origin
39
42
  const resolved = href.startsWith("http")
40
43
  ? href
@@ -3,6 +3,7 @@ import { RouteState } from "../lib/routing/types.js";
3
3
  interface Props {
4
4
  route: RouteState;
5
5
  children: ReactNode;
6
+ onError?: (error: Error, errorInfo: ErrorInfo) => void;
6
7
  }
7
8
  interface State {
8
9
  hasError: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"RouteErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/app/utils/RouteErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIpD,UAAU,KAAK;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACtD,KAAK,EAAE,KAAK,CAElB;WAEa,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAKpD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAWpD,MAAM;CAmBd"}
1
+ {"version":3,"file":"RouteErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/app/utils/RouteErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAMpD,UAAU,KAAK;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAA;CACvD;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACtD,KAAK,EAAE,KAAK,CAElB;WAEa,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAKpD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAcpD,MAAM;CAmBd"}
@@ -19,6 +19,9 @@ export class RouteErrorBoundary extends Component {
19
19
  componentStack: errorInfo.componentStack,
20
20
  });
21
21
  }
22
+ if (this.props.onError) {
23
+ this.props.onError(error, errorInfo);
24
+ }
22
25
  }
23
26
  render() {
24
27
  if (this.state.hasError) {
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.0.0-beta.194";
1
+ export declare const VERSION = "2.0.0-beta.196";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- export const VERSION = "2.0.0-beta.194";
1
+ export const VERSION = "2.0.0-beta.196";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "2.0.0-beta.194",
3
+ "version": "2.0.0-beta.196",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",