piral-core 1.8.0-beta.7755 → 1.8.0-beta.7758

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/lib/codegen.js CHANGED
@@ -6587,16 +6587,23 @@ function getPackageJson(root, packageName) {
6587
6587
  return {};
6588
6588
  }
6589
6589
  }
6590
- function getRouterVersion(root) {
6591
- const router = "react-router";
6592
- try {
6593
- const { version } = getPackageJson(root, router);
6594
- const [major] = version.split(".");
6595
- return parseInt(major, 10);
6596
- } catch {
6597
- console.warn(`\u26A0 Could not determine version of ${router}. Falling back to v5.`);
6598
- return 5;
6590
+ var reactRouters = ["react-router", "react-router-dom"];
6591
+ function getRouter(root) {
6592
+ const routers = [...reactRouters, "wouter"];
6593
+ for (const name of routers) {
6594
+ try {
6595
+ const { version } = getPackageJson(root, name);
6596
+ const [major] = version.split(".");
6597
+ const compat = parseInt(major, 10);
6598
+ return { name, compat };
6599
+ } catch {
6600
+ }
6599
6601
  }
6602
+ console.warn(`\u26A0 Could not determine the used router. Falling back to "react-router" v5.`);
6603
+ return {
6604
+ name: routers[0],
6605
+ compat: 5
6606
+ };
6600
6607
  }
6601
6608
  function getIdentifiers(root, packageName) {
6602
6609
  const identifiers = [packageName];
@@ -6689,34 +6696,40 @@ function createDependencies(imports, exports2, opts) {
6689
6696
  }
6690
6697
  function createDefaultState(imports, exports2, opts) {
6691
6698
  const { root, cat, publicPath, isolation } = opts;
6692
- const routerVersion = getRouterVersion(root);
6699
+ const router = getRouter(root);
6693
6700
  const wrap = isolation === "modern" ? "true" : "false";
6694
6701
  imports.push(
6695
6702
  `import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo.js';`,
6696
6703
  `import { DefaultLoadingIndicator } from 'piral-core/${cat}/defaults/DefaultLoadingIndicator.js';`,
6697
6704
  `import { DefaultLayout } from 'piral-core/${cat}/defaults/DefaultLayout.js';`
6698
6705
  );
6699
- if (routerVersion < 6) {
6706
+ if (router.name === "wouter") {
6707
+ imports.push(
6708
+ `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_wouter.js';`,
6709
+ `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_wouter.js';`,
6710
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_wouter.js'`
6711
+ );
6712
+ } else if (router.compat < 6) {
6700
6713
  imports.push(
6701
6714
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5.js';`,
6702
6715
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5.js';`,
6703
- `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5.js'`
6716
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v5.js'`
6704
6717
  );
6705
- } else if (routerVersion === 6) {
6718
+ } else if (router.compat === 6) {
6706
6719
  imports.push(
6707
6720
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v6.js';`,
6708
6721
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`,
6709
- `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v6.js'`
6722
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v6.js'`
6710
6723
  );
6711
6724
  } else {
6712
6725
  imports.push(
6713
6726
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`,
6714
6727
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`,
6715
- `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v7.js'`
6728
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v7.js'`
6716
6729
  );
6717
6730
  }
6718
6731
  exports2.push(`
6719
- export { createRedirect, createNavigation, useRouterContext };
6732
+ export { createRedirect, createNavigation };
6720
6733
  `);
6721
6734
  exports2.push(`
6722
6735
  export const publicPath = ${JSON.stringify(publicPath)};
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import type { RouteSwitchProps } from '../types';
3
+ export declare const DefaultRouteSwitch: React.FC<RouteSwitchProps>;
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Switch, Route, useParams, useLocation } from 'wouter';
4
+ function getHistory(navigate) {
5
+ return {
6
+ push(path, state) {
7
+ navigate(path, { replace: false, state });
8
+ },
9
+ replace(path, state) {
10
+ navigate(path, { replace: true, state });
11
+ },
12
+ };
13
+ }
14
+ const RouteContentWrapper = ({ Component }) => {
15
+ const params = useParams();
16
+ const [pathname, navigate] = useLocation();
17
+ return (React.createElement(Component, { history: getHistory(navigate), location: { hash: location.hash, pathname, search: location.search, state: undefined }, match: { params, isExact: true, path: pathname, url: location.href } }));
18
+ };
19
+ export const DefaultRouteSwitch = ({ paths, NotFound, ...props }) => {
20
+ return (React.createElement(Switch, { ...props },
21
+ paths.map(({ path, Component }) => (React.createElement(Route, { key: path, path: path },
22
+ React.createElement(RouteContentWrapper, { Component: Component })))),
23
+ React.createElement(Route, null,
24
+ React.createElement(RouteContentWrapper, { Component: NotFound }))));
25
+ };
26
+ DefaultRouteSwitch.displayName = 'DefaultRouteSwitch';
27
+ //# sourceMappingURL=DefaultRouteSwitch._wouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultRouteSwitch._wouter.js","sourceRoot":"","sources":["../../src/defaults/DefaultRouteSwitch._wouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG/D,SAAS,UAAU,CAAC,QAAa;IAC/B,OAAO;QACL,IAAI,CAAC,IAAY,EAAE,KAAU;YAC3B,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAY,EAAE,KAAU;YAC9B,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC;AAMD,MAAM,mBAAmB,GAAuC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAChF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,WAAW,EAAE,CAAC;IAC3C,OAAO,CACL,oBAAC,SAAS,IACR,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EACtF,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,GACpE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC9F,OAAO,CACL,oBAAC,MAAM,OAAK,KAAK;QACd,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAClC,oBAAC,KAAK,IAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAC1B,oBAAC,mBAAmB,IAAC,SAAS,EAAE,SAAS,GAAI,CACvC,CACT,CAAC;QACF,oBAAC,KAAK;YACJ,oBAAC,mBAAmB,IAAC,SAAS,EAAE,QAAQ,GAAI,CACtC,CACD,CACV,CAAC;AACJ,CAAC,CAAC;AACF,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { RouterProps } from '../types';
3
+ export declare const DefaultRouter: React.FC<RouterProps>;
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Router } from 'wouter';
4
+ export const DefaultRouter = ({ children, publicPath }) => {
5
+ return React.createElement(Router, { base: publicPath }, children);
6
+ };
7
+ DefaultRouter.displayName = 'DefaultRouter';
8
+ //# sourceMappingURL=DefaultRouter_wouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultRouter_wouter.js","sourceRoot":"","sources":["../../src/defaults/DefaultRouter_wouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/E,OAAO,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,IAAG,QAAQ,CAAU,CAAC;AACvD,CAAC,CAAC;AACF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { NavigationApi } from '../types';
2
- export declare function useRouterContext(): any;
3
2
  export declare function useCurrentNavigation(): void;
4
3
  export declare function createRedirect(): () => any;
5
4
  export declare function createNavigation(publicPath: string): NavigationApi;
@@ -1,7 +1,4 @@
1
1
  const _noop = () => { };
2
- export function useRouterContext() {
3
- return undefined;
4
- }
5
2
  export function useCurrentNavigation() { }
6
3
  export function createRedirect() {
7
4
  return () => null;
@@ -1 +1 @@
1
- {"version":3,"file":"navigator_none.js","sourceRoot":"","sources":["../../src/defaults/navigator_none.tsx"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,KAAI,CAAC;AAEzC,MAAM,UAAU,cAAc;IAC5B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG;YACL,MAAM,GAAG,GAAG,QAAQ,CAAC;YACrB,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACtB,OAAO,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACzB,EAAE,CAAC,CAAC,IAAG,CAAC;QACR,KAAK,CAAC,OAAO;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,QAAQ;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,SAAS;QACjB,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"navigator_none.js","sourceRoot":"","sources":["../../src/defaults/navigator_none.tsx"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,MAAM,UAAU,oBAAoB,KAAI,CAAC;AAEzC,MAAM,UAAU,cAAc;IAC5B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG;YACL,MAAM,GAAG,GAAG,QAAQ,CAAC;YACrB,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACtB,OAAO,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACzB,EAAE,CAAC,CAAC,IAAG,CAAC;QACR,KAAK,CAAC,OAAO;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,QAAQ;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,SAAS;QACjB,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { NavigationApi } from '../types';
3
- export declare function useRouterContext(): import("react-router").RouteComponentProps<{}, import("react-router").StaticContext, unknown>;
4
3
  export declare function useCurrentNavigation(): void;
5
4
  export declare function createRedirect(to: string): () => React.JSX.Element;
6
5
  export declare function createNavigation(publicPath: string): NavigationApi;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { __RouterContext as RouterContext, Redirect, useLocation } from 'react-router';
3
3
  let _nav;
4
4
  const _noop = () => { };
5
- export function useRouterContext() {
5
+ function useRouterContext() {
6
6
  return React.useContext(RouterContext);
7
7
  }
8
8
  export function useCurrentNavigation() {
@@ -1 +1 @@
1
- {"version":3,"file":"navigator_v5.js","sourceRoot":"","sources":["../../src/defaults/navigator_v5.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigator_v5.js","sourceRoot":"","sources":["../../src/defaults/navigator_v5.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { NavigationApi } from '../types';
3
- export declare function useRouterContext(): unknown;
4
3
  export declare function useCurrentNavigation(): void;
5
4
  export declare function createRedirect(to: string): () => React.JSX.Element;
6
5
  export declare function createNavigation(publicPath: string): NavigationApi;
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { UNSAFE_NavigationContext as RouterContext, Navigate, useLocation } from 'react-router';
4
4
  let _nav;
5
5
  const _noop = () => { };
6
- export function useRouterContext() {
6
+ function useRouterContext() {
7
7
  return React.useContext(RouterContext);
8
8
  }
9
9
  export function useCurrentNavigation() {
@@ -1 +1 @@
1
- {"version":3,"file":"navigator_v6.js","sourceRoot":"","sources":["../../src/defaults/navigator_v6.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigator_v6.js","sourceRoot":"","sources":["../../src/defaults/navigator_v6.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,wBAAwB,IAAI,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhG,IAAI,IAAS,CAAC;AACd,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,SAAS,gBAAgB;IACvB,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAQ,gBAAgB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,gBAAgB,EAAE;gBAChC,MAAM,EAAE;oBACN,QAAQ;iBACT;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAErB,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,EAAE,CAAC,oBAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,GAAG,IAAI;QACP,QAAQ,EAAE;YACR,IAAI,IAAI;gBACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,GAAG,IAAI,CAAC,QAAQ;SACjB;KACF,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,IAAI;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,IAAI,GAAG;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5C,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK;YAChB,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,KAAK;YACnB,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,EAAE,CAAC,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO;YACX,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,CAAC,QAAQ;YACb,MAAM,OAAO,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAEhE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAEnD,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,MAAM;YACR,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import { NavigationApi } from '../types';
3
+ export declare function useCurrentNavigation(): void;
4
+ export declare function createRedirect(to: string): () => React.JSX.Element;
5
+ export declare function createNavigation(publicPath: string): NavigationApi;
@@ -0,0 +1,61 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Redirect, useLocation } from 'wouter';
4
+ //@ts-ignore
5
+ import { navigate } from 'wouter/use-browser-location';
6
+ const _noop = () => { };
7
+ export function useCurrentNavigation() {
8
+ const [location] = useLocation();
9
+ React.useEffect(() => {
10
+ window.dispatchEvent(new CustomEvent('piral-navigate', {
11
+ detail: {
12
+ location,
13
+ },
14
+ }));
15
+ }, [location]);
16
+ }
17
+ export function createRedirect(to) {
18
+ return () => React.createElement(Redirect, { to: to });
19
+ }
20
+ export function createNavigation(publicPath) {
21
+ const enhance = (location) => ({
22
+ action: 'PUSH',
23
+ location: {
24
+ get href() {
25
+ return location;
26
+ },
27
+ },
28
+ });
29
+ return {
30
+ get path() {
31
+ return location.pathname;
32
+ },
33
+ get url() {
34
+ const loc = location;
35
+ return `${loc.pathname}${loc.search}${loc.hash}`;
36
+ },
37
+ push(target, state) {
38
+ navigate(target, { replace: false, state });
39
+ },
40
+ replace(target, state) {
41
+ navigate(target, { replace: true, state });
42
+ },
43
+ go() {
44
+ //Not supported in Wouter
45
+ },
46
+ block() {
47
+ //Not supported in Wouter
48
+ return _noop;
49
+ },
50
+ listen(listener) {
51
+ const handler = (e) => listener(enhance(e.detail.location));
52
+ window.addEventListener('piral-navigate', handler);
53
+ return () => {
54
+ window.removeEventListener('piral-navigate', handler);
55
+ };
56
+ },
57
+ router: {},
58
+ publicPath,
59
+ };
60
+ }
61
+ //# sourceMappingURL=navigator_wouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator_wouter.js","sourceRoot":"","sources":["../../src/defaults/navigator_wouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/C,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,MAAM,UAAU,oBAAoB;IAClC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,CAAC;IAEjC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,gBAAgB,EAAE;YAChC,MAAM,EAAE;gBACN,QAAQ;aACT;SACF,CAAC,CACH,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,EAAE,CAAC,oBAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAO,EAAE,CAAC,CAAC;QAC1C,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE;YACR,IAAI,IAAI;gBACN,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,IAAI;YACN,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG;YACL,MAAM,GAAG,GAAG,QAAQ,CAAC;YACrB,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK;YAChB,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,KAAK;YACnB,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,EAAE;YACA,yBAAyB;QAC3B,CAAC;QACD,KAAK;YACH,yBAAyB;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,QAAQ;YACb,MAAM,OAAO,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEzE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAEnD,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,EAAE;QACV,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -25,17 +25,23 @@ function getPackageJson(root, packageName) {
25
25
  return {};
26
26
  }
27
27
  }
28
- function getRouterVersion(root) {
29
- const router = 'react-router';
30
- try {
31
- const { version } = getPackageJson(root, router);
32
- const [major] = version.split('.');
33
- return parseInt(major, 10);
34
- }
35
- catch {
36
- console.warn(`⚠ Could not determine version of ${router}. Falling back to v5.`);
37
- return 5;
28
+ const reactRouters = ['react-router', 'react-router-dom'];
29
+ function getRouter(root) {
30
+ const routers = [...reactRouters, 'wouter'];
31
+ for (const name of routers) {
32
+ try {
33
+ const { version } = getPackageJson(root, name);
34
+ const [major] = version.split('.');
35
+ const compat = parseInt(major, 10);
36
+ return { name, compat };
37
+ }
38
+ catch { }
38
39
  }
40
+ console.warn(`⚠ Could not determine the used router. Falling back to "react-router" v5.`);
41
+ return {
42
+ name: routers[0],
43
+ compat: 5,
44
+ };
39
45
  }
40
46
  function getIdentifiers(root, packageName) {
41
47
  const identifiers = [packageName];
@@ -132,23 +138,27 @@ export function createDependencies(imports, exports, opts) {
132
138
  }
133
139
  export function createDefaultState(imports, exports, opts) {
134
140
  const { root, cat, publicPath, isolation } = opts;
135
- const routerVersion = getRouterVersion(root);
141
+ const router = getRouter(root);
136
142
  const wrap = isolation === 'modern' ? 'true' : 'false';
137
143
  imports.push(`import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo.js';`, `import { DefaultLoadingIndicator } from 'piral-core/${cat}/defaults/DefaultLoadingIndicator.js';`, `import { DefaultLayout } from 'piral-core/${cat}/defaults/DefaultLayout.js';`);
138
- if (routerVersion < 6) {
144
+ if (router.name === 'wouter') {
145
+ // Wouter Router
146
+ imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_wouter.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_wouter.js';`, `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_wouter.js'`);
147
+ }
148
+ else if (router.compat < 6) {
139
149
  // React Router v5
140
- imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5.js'`);
150
+ imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5.js';`, `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v5.js'`);
141
151
  }
142
- else if (routerVersion === 6) {
152
+ else if (router.compat === 6) {
143
153
  // React Router v6
144
- imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v6.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v6.js'`);
154
+ imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v6.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`, `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v6.js'`);
145
155
  }
146
156
  else {
147
157
  // React Router v7
148
- imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v7.js'`);
158
+ imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`, `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v7.js'`);
149
159
  }
150
160
  exports.push(`
151
- export { createRedirect, createNavigation, useRouterContext };
161
+ export { createRedirect, createNavigation };
152
162
  `);
153
163
  exports.push(`
154
164
  export const publicPath = ${JSON.stringify(publicPath)};
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-core",
3
- "version": "1.8.0-beta.7755",
3
+ "version": "1.8.0-beta.7758",
4
4
  "description": "The core library for creating a Piral instance.",
5
5
  "keywords": [
6
6
  "portal",
@@ -63,8 +63,8 @@
63
63
  "test": "echo \"Error: run tests from root\" && exit 1"
64
64
  },
65
65
  "dependencies": {
66
- "piral-base": "1.8.0-beta.7755",
67
- "piral-debug-utils": "1.8.0-beta.7755",
66
+ "piral-base": "1.8.0-beta.7758",
67
+ "piral-debug-utils": "1.8.0-beta.7758",
68
68
  "zustand": "^3.0.0"
69
69
  },
70
70
  "devDependencies": {
@@ -84,5 +84,5 @@
84
84
  "react-router-dom",
85
85
  "tslib"
86
86
  ],
87
- "gitHead": "99bb90ef8fd4e1485e96756e75f5155a7bf0002b"
87
+ "gitHead": "6ad3f2802f1b35349162e342a3b4d79c26c6e5db"
88
88
  }
@@ -0,0 +1,47 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Switch, Route, useParams, useLocation } from 'wouter';
4
+ import type { RouteSwitchProps } from '../types';
5
+
6
+ function getHistory(navigate: any): any {
7
+ return {
8
+ push(path: string, state: any) {
9
+ navigate(path, { replace: false, state });
10
+ },
11
+ replace(path: string, state: any) {
12
+ navigate(path, { replace: true, state });
13
+ },
14
+ };
15
+ }
16
+
17
+ interface RouteContentWrapperProps {
18
+ Component: RouteSwitchProps['paths'][0]['Component'];
19
+ }
20
+
21
+ const RouteContentWrapper: React.FC<RouteContentWrapperProps> = ({ Component }) => {
22
+ const params = useParams();
23
+ const [pathname, navigate] = useLocation();
24
+ return (
25
+ <Component
26
+ history={getHistory(navigate)}
27
+ location={{ hash: location.hash, pathname, search: location.search, state: undefined }}
28
+ match={{ params, isExact: true, path: pathname, url: location.href }}
29
+ />
30
+ );
31
+ };
32
+
33
+ export const DefaultRouteSwitch: React.FC<RouteSwitchProps> = ({ paths, NotFound, ...props }) => {
34
+ return (
35
+ <Switch {...props}>
36
+ {paths.map(({ path, Component }) => (
37
+ <Route key={path} path={path}>
38
+ <RouteContentWrapper Component={Component} />
39
+ </Route>
40
+ ))}
41
+ <Route>
42
+ <RouteContentWrapper Component={NotFound} />
43
+ </Route>
44
+ </Switch>
45
+ );
46
+ };
47
+ DefaultRouteSwitch.displayName = 'DefaultRouteSwitch';
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Router } from 'wouter';
4
+ import { RouterProps } from '../types';
5
+
6
+ export const DefaultRouter: React.FC<RouterProps> = ({ children, publicPath }) => {
7
+ return <Router base={publicPath}>{children}</Router>;
8
+ };
9
+ DefaultRouter.displayName = 'DefaultRouter';
@@ -2,10 +2,6 @@ import { NavigationApi } from '../types';
2
2
 
3
3
  const _noop = () => {};
4
4
 
5
- export function useRouterContext() {
6
- return undefined;
7
- }
8
-
9
5
  export function useCurrentNavigation() {}
10
6
 
11
7
  export function createRedirect() {
@@ -6,7 +6,7 @@ import { NavigationApi } from '../types';
6
6
  let _nav: History;
7
7
  const _noop = () => {};
8
8
 
9
- export function useRouterContext() {
9
+ function useRouterContext() {
10
10
  return React.useContext(RouterContext);
11
11
  }
12
12
 
@@ -6,7 +6,7 @@ import { NavigationApi } from '../types';
6
6
  let _nav: any;
7
7
  const _noop = () => {};
8
8
 
9
- export function useRouterContext() {
9
+ function useRouterContext() {
10
10
  return React.useContext(RouterContext);
11
11
  }
12
12
 
@@ -0,0 +1,71 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Redirect, useLocation } from 'wouter';
4
+ //@ts-ignore
5
+ import { navigate } from 'wouter/use-browser-location';
6
+ import { NavigationApi } from '../types';
7
+
8
+ const _noop = () => {};
9
+
10
+ export function useCurrentNavigation() {
11
+ const [location] = useLocation();
12
+
13
+ React.useEffect(() => {
14
+ window.dispatchEvent(
15
+ new CustomEvent('piral-navigate', {
16
+ detail: {
17
+ location,
18
+ },
19
+ }),
20
+ );
21
+ }, [location]);
22
+ }
23
+
24
+ export function createRedirect(to: string) {
25
+ return () => <Redirect to={to} />;
26
+ }
27
+
28
+ export function createNavigation(publicPath: string): NavigationApi {
29
+ const enhance = (location: string): any => ({
30
+ action: 'PUSH',
31
+ location: {
32
+ get href() {
33
+ return location;
34
+ },
35
+ },
36
+ });
37
+
38
+ return {
39
+ get path() {
40
+ return location.pathname;
41
+ },
42
+ get url() {
43
+ const loc = location;
44
+ return `${loc.pathname}${loc.search}${loc.hash}`;
45
+ },
46
+ push(target, state) {
47
+ navigate(target, { replace: false, state });
48
+ },
49
+ replace(target, state) {
50
+ navigate(target, { replace: true, state });
51
+ },
52
+ go() {
53
+ //Not supported in Wouter
54
+ },
55
+ block() {
56
+ //Not supported in Wouter
57
+ return _noop;
58
+ },
59
+ listen(listener) {
60
+ const handler = (e: CustomEvent) => listener(enhance(e.detail.location));
61
+
62
+ window.addEventListener('piral-navigate', handler);
63
+
64
+ return () => {
65
+ window.removeEventListener('piral-navigate', handler);
66
+ };
67
+ },
68
+ router: {},
69
+ publicPath,
70
+ };
71
+ }
@@ -32,17 +32,25 @@ function getPackageJson(root: string, packageName: string) {
32
32
  }
33
33
  }
34
34
 
35
- function getRouterVersion(root: string) {
36
- const router = 'react-router';
37
-
38
- try {
39
- const { version } = getPackageJson(root, router);
40
- const [major] = version.split('.');
41
- return parseInt(major, 10);
42
- } catch {
43
- console.warn(`⚠ Could not determine version of ${router}. Falling back to v5.`);
44
- return 5;
35
+ const reactRouters = ['react-router', 'react-router-dom'];
36
+
37
+ function getRouter(root: string) {
38
+ const routers = [...reactRouters, 'wouter'];
39
+
40
+ for (const name of routers) {
41
+ try {
42
+ const { version } = getPackageJson(root, name);
43
+ const [major] = version.split('.');
44
+ const compat = parseInt(major, 10);
45
+ return { name, compat };
46
+ } catch {}
45
47
  }
48
+
49
+ console.warn(`⚠ Could not determine the used router. Falling back to "react-router" v5.`);
50
+ return {
51
+ name: routers[0],
52
+ compat: 5,
53
+ };
46
54
  }
47
55
 
48
56
  function getIdentifiers(root: string, packageName: string) {
@@ -175,7 +183,7 @@ export function createDependencies(imports: Array<string>, exports: Array<string
175
183
 
176
184
  export function createDefaultState(imports: Array<string>, exports: Array<string>, opts: CodegenOptions) {
177
185
  const { root, cat, publicPath, isolation } = opts;
178
- const routerVersion = getRouterVersion(root);
186
+ const router = getRouter(root);
179
187
  const wrap = isolation === 'modern' ? 'true' : 'false';
180
188
 
181
189
  imports.push(
@@ -184,31 +192,38 @@ export function createDefaultState(imports: Array<string>, exports: Array<string
184
192
  `import { DefaultLayout } from 'piral-core/${cat}/defaults/DefaultLayout.js';`,
185
193
  );
186
194
 
187
- if (routerVersion < 6) {
195
+ if (router.name === 'wouter') {
196
+ // Wouter Router
197
+ imports.push(
198
+ `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_wouter.js';`,
199
+ `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_wouter.js';`,
200
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_wouter.js'`,
201
+ );
202
+ } else if (router.compat < 6) {
188
203
  // React Router v5
189
204
  imports.push(
190
205
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5.js';`,
191
206
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5.js';`,
192
- `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5.js'`,
207
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v5.js'`,
193
208
  );
194
- } else if (routerVersion === 6) {
209
+ } else if (router.compat === 6) {
195
210
  // React Router v6
196
211
  imports.push(
197
212
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v6.js';`,
198
213
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`,
199
- `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v6.js'`,
214
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v6.js'`,
200
215
  );
201
216
  } else {
202
217
  // React Router v7
203
218
  imports.push(
204
219
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`,
205
220
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`,
206
- `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v7.js'`,
221
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v7.js'`,
207
222
  );
208
223
  }
209
224
 
210
225
  exports.push(`
211
- export { createRedirect, createNavigation, useRouterContext };
226
+ export { createRedirect, createNavigation };
212
227
  `);
213
228
 
214
229
  exports.push(`