piral-core 1.12.2 → 1.12.3-beta.4cfc2dd

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
@@ -7145,12 +7145,20 @@ module.exports = __toCommonJS(codegen_exports);
7145
7145
  var fs = __toESM(require_graceful_fs());
7146
7146
  var import_enhanced_resolve = __toESM(require_lib2());
7147
7147
  var nodeFileSystem = new import_enhanced_resolve.CachedInputFileSystem(fs, 100);
7148
+ var isProduction = process.env.NODE_ENV === "production";
7148
7149
  var nodeContext = {
7149
7150
  environments: ["node+es3+es5+process+native"]
7150
7151
  };
7151
7152
  var enhancedResolve = import_enhanced_resolve.ResolverFactory.createResolver({
7152
7153
  aliasFields: ["browser"],
7153
- conditionNames: ["import", "module", "webpack", "development", "browser"],
7154
+ conditionNames: [
7155
+ "import",
7156
+ "module",
7157
+ "webpack",
7158
+ ...isProduction ? ["default"] : ["development"],
7159
+ "browser",
7160
+ "default"
7161
+ ],
7154
7162
  extensions: [".js", ".jsx", ".mjs", ".ts", ".tsx", ".json"],
7155
7163
  exportsFields: ["exports"],
7156
7164
  importsFields: ["imports"],
@@ -7167,25 +7175,25 @@ function getModulePath(root, moduleName) {
7167
7175
  }
7168
7176
 
7169
7177
  // src/tools/codegen.ts
7170
- var import_fs = require("fs");
7171
- var import_path = require("path");
7178
+ var import_node_fs = require("node:fs");
7179
+ var import_node_path = require("node:path");
7172
7180
  function findPackagePath(moduleDir) {
7173
7181
  const packageJson = "package.json";
7174
- const packagePath = (0, import_path.resolve)(moduleDir, packageJson);
7175
- if ((0, import_fs.existsSync)(packagePath)) {
7182
+ const packagePath = (0, import_node_path.resolve)(moduleDir, packageJson);
7183
+ if ((0, import_node_fs.existsSync)(packagePath)) {
7176
7184
  return packagePath;
7177
7185
  }
7178
- const newDir = (0, import_path.resolve)(moduleDir, "..");
7186
+ const newDir = (0, import_node_path.resolve)(moduleDir, "..");
7179
7187
  if (newDir !== moduleDir) {
7180
7188
  return findPackagePath(newDir);
7181
7189
  }
7182
7190
  return void 0;
7183
7191
  }
7184
7192
  function getPackageJson(root, packageName) {
7185
- const moduleDir = (0, import_path.dirname)(getModulePath(root, packageName));
7193
+ const moduleDir = (0, import_node_path.dirname)(getModulePath(root, packageName));
7186
7194
  try {
7187
7195
  const packagePath = findPackagePath(moduleDir);
7188
- const content = (0, import_fs.readFileSync)(packagePath, "utf8");
7196
+ const content = (0, import_node_fs.readFileSync)(packagePath, "utf8");
7189
7197
  return JSON.parse(content) || {};
7190
7198
  } catch {
7191
7199
  return {};
@@ -7226,8 +7234,8 @@ function getIdentifiers(root, packageName) {
7226
7234
  function getModulePathOrDefault(root, origin, name) {
7227
7235
  try {
7228
7236
  const absPath = getModulePath(root, name);
7229
- const relPath = (0, import_path.relative)(origin, absPath);
7230
- const path = relPath.split(import_path.sep).join(import_path.posix.sep);
7237
+ const relPath = (0, import_node_path.relative)(origin, absPath);
7238
+ const path = relPath.split(import_node_path.sep).join(import_node_path.posix.sep);
7231
7239
  return path;
7232
7240
  } catch {
7233
7241
  return name;
@@ -7325,12 +7333,20 @@ function createDefaultState(imports, exports2, opts) {
7325
7333
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`,
7326
7334
  `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v6.js'`
7327
7335
  );
7328
- } else {
7336
+ } else if (router.compat === 7) {
7329
7337
  imports.push(
7330
7338
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`,
7331
7339
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`,
7332
7340
  `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v7.js'`
7333
7341
  );
7342
+ } else if (router.compat === 8) {
7343
+ imports.push(
7344
+ `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v8.js';`,
7345
+ `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v8.js';`,
7346
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v8.js'`
7347
+ );
7348
+ } else {
7349
+ throw new Error(`Unsupported router version: ${router.name} v${router.compat}`);
7334
7350
  }
7335
7351
  exports2.push(`
7336
7352
  export { createRedirect, createNavigation };
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { RouteSwitchProps } from '../types';
3
+ export declare const DefaultRouteSwitch: React.FC<RouteSwitchProps>;
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Routes, Route, useParams, useLocation, useNavigate } from 'react-router';
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 navigate = useNavigate();
16
+ const params = useParams();
17
+ const loc = useLocation();
18
+ return (React.createElement(Component, { history: getHistory(navigate), location: loc, match: { params, isExact: true, path: loc.pathname, url: location.href } }));
19
+ };
20
+ export const DefaultRouteSwitch = ({ paths, NotFound, ...props }) => {
21
+ return (React.createElement(Routes, { ...props },
22
+ paths.map(({ path, Component }) => (
23
+ //@ts-ignore
24
+ React.createElement(Route, { key: path, path: path, element: React.createElement(RouteContentWrapper, { Component: Component }) }))),
25
+ //@ts-ignore
26
+ React.createElement(Route, { path: "*", element: React.createElement(NotFound, null) })));
27
+ };
28
+ DefaultRouteSwitch.displayName = 'DefaultRouteSwitch';
29
+ //# sourceMappingURL=DefaultRouteSwitch_v8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultRouteSwitch_v8.js","sourceRoot":"","sources":["../../src/defaults/DefaultRouteSwitch_v8.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGlF,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,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAE1B,OAAO,CACL,oBAAC,SAAS,IACR,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC7B,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,GACxE,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;QAClC,YAAY;QACZ,oBAAC,KAAK,IAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAC,mBAAmB,IAAC,SAAS,EAAE,SAAS,GAAI,GAAI,CACzF,CAAC;QAEA,YAAY;QACZ,oBAAC,KAAK,IAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,oBAAC,QAAQ,OAAG,GAAI,CAEpC,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 { BrowserRouter } from 'react-router';
4
+ export const DefaultRouter = ({ children, publicPath }) => {
5
+ return React.createElement(BrowserRouter, { basename: publicPath }, children);
6
+ };
7
+ DefaultRouter.displayName = 'DefaultRouter';
8
+ //# sourceMappingURL=DefaultRouter_v8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultRouter_v8.js","sourceRoot":"","sources":["../../src/defaults/DefaultRouter_v8.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/E,OAAO,oBAAC,aAAa,IAAC,QAAQ,EAAE,UAAU,IAAG,QAAQ,CAAiB,CAAC;AACzE,CAAC,CAAC;AACF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { NavigationApi } from '../types';
3
+ export declare function useRouterContext(): unknown;
4
+ export declare function useCurrentNavigation(): void;
5
+ export declare function createRedirect(to: string): () => React.JSX.Element;
6
+ export declare function createNavigation(publicPath: string): NavigationApi;
@@ -0,0 +1,84 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { UNSAFE_NavigationContext as RouterContext, Navigate, useLocation } from 'react-router';
4
+ let _nav;
5
+ const _noop = () => { };
6
+ export function useRouterContext() {
7
+ return React.useContext(RouterContext);
8
+ }
9
+ export function useCurrentNavigation() {
10
+ const ctx = useRouterContext();
11
+ const location = useLocation();
12
+ React.useEffect(() => {
13
+ if (_nav) {
14
+ window.dispatchEvent(new CustomEvent('piral-navigate', {
15
+ detail: {
16
+ location,
17
+ },
18
+ }));
19
+ }
20
+ }, [location]);
21
+ React.useEffect(() => {
22
+ _nav = ctx.navigator;
23
+ return () => {
24
+ _nav = undefined;
25
+ };
26
+ }, []);
27
+ }
28
+ export function createRedirect(to) {
29
+ return () => React.createElement(Navigate, { to: to });
30
+ }
31
+ export function createNavigation(publicPath) {
32
+ const enhance = (info) => ({
33
+ ...info,
34
+ location: {
35
+ get href() {
36
+ return _nav.createHref(info.location);
37
+ },
38
+ ...info.location,
39
+ },
40
+ });
41
+ return {
42
+ get path() {
43
+ const loc = _nav ? _nav.location : location;
44
+ return loc.pathname;
45
+ },
46
+ get url() {
47
+ const loc = _nav ? _nav.location : location;
48
+ return `${loc.pathname}${loc.search}${loc.hash}`;
49
+ },
50
+ push(target, state) {
51
+ if (_nav) {
52
+ _nav.push(target, state);
53
+ }
54
+ },
55
+ replace(target, state) {
56
+ if (_nav) {
57
+ _nav.replace(target, state);
58
+ }
59
+ },
60
+ go(n) {
61
+ if (_nav) {
62
+ _nav.go(n);
63
+ }
64
+ },
65
+ block(blocker) {
66
+ if (!_nav) {
67
+ return _noop;
68
+ }
69
+ return _nav.block((transition) => blocker(enhance(transition)));
70
+ },
71
+ listen(listener) {
72
+ const handler = (e) => listener(enhance(e.detail));
73
+ window.addEventListener('piral-navigate', handler);
74
+ return () => {
75
+ window.removeEventListener('piral-navigate', handler);
76
+ };
77
+ },
78
+ get router() {
79
+ return _nav;
80
+ },
81
+ publicPath,
82
+ };
83
+ }
84
+ //# sourceMappingURL=navigator_v8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator_v8.js","sourceRoot":"","sources":["../../src/defaults/navigator_v8.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // this file is bundled, so the references here will not be at runtime (i.e., for a user)
2
2
  import { getModulePath } from 'piral-cli/src/external/resolve';
3
- import { readFileSync, existsSync } from 'fs';
4
- import { resolve, relative, dirname, sep, posix } from 'path';
3
+ import { readFileSync, existsSync } from 'node:fs';
4
+ import { resolve, relative, dirname, sep, posix } from 'node:path';
5
5
  function findPackagePath(moduleDir) {
6
6
  const packageJson = 'package.json';
7
7
  const packagePath = resolve(moduleDir, packageJson);
@@ -153,10 +153,17 @@ export function createDefaultState(imports, exports, opts) {
153
153
  // React Router v6
154
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'`);
155
155
  }
156
- else {
156
+ else if (router.compat === 7) {
157
157
  // React Router v7
158
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'`);
159
159
  }
160
+ else if (router.compat === 8) {
161
+ // React Router v8
162
+ imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v8.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v8.js';`, `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v8.js'`);
163
+ }
164
+ else {
165
+ throw new Error(`Unsupported router version: ${router.name} v${router.compat}`);
166
+ }
160
167
  exports.push(`
161
168
  export { createRedirect, createNavigation };
162
169
  `);
@@ -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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"}
@@ -1,4 +1,4 @@
1
1
  import { LoadPiletsOptions } from 'piral-base';
2
2
  import { DebuggerExtensionOptions } from 'piral-debug-utils';
3
- import { GlobalStateContext } from '../types';
3
+ import type { GlobalStateContext } from '../types';
4
4
  export declare function integrateDebugger(context: GlobalStateContext, options: LoadPiletsOptions, debug?: DebuggerExtensionOptions): void;
@@ -16,7 +16,7 @@ export function integrateDebugger(context, options, debug = {}) {
16
16
  },
17
17
  fireEvent: context.emit,
18
18
  getDependencies() {
19
- return Object.keys(options.dependencies);
19
+ return Object.keys(options.dependencies || {});
20
20
  },
21
21
  getExtensions() {
22
22
  return context.readState((s) => Object.keys(s.registry.extensions));
@@ -1 +1 @@
1
- {"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../src/tools/debugger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../src/tools/debugger.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { LoadPiletsOptions } from 'piral-base';
2
2
  import { DebuggerExtensionOptions } from 'piral-debug-utils';
3
- import { GlobalStateContext } from '../types';
3
+ import type { GlobalStateContext } from '../types';
4
4
  export declare function integrateEmulator(context: GlobalStateContext, options: LoadPiletsOptions, debug?: DebuggerExtensionOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/tools/emulator.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,MAAM,UAAU,iBAAiB,CAC/B,OAA2B,EAC3B,OAA0B,EAC1B,QAAkC,EAAE;IAEpC,oBAAoB,CAAC,OAAO,CAAC,WAAW,EAAE;QACxC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,CAAC,SAAS;YACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/tools/emulator.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAInF,MAAM,UAAU,iBAAiB,CAC/B,OAA2B,EAC3B,OAA0B,EAC1B,QAAkC,EAAE;IAEpC,oBAAoB,CAAC,OAAO,CAAC,WAAW,EAAE;QACxC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,CAAC,SAAS;YACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-core",
3
- "version": "1.12.2",
3
+ "version": "1.12.3-beta.4cfc2dd",
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.12.2",
67
- "piral-debug-utils": "^1.12.2",
66
+ "piral-base": "^1.12.3-beta.4cfc2dd",
67
+ "piral-debug-utils": "^1.12.3-beta.4cfc2dd",
68
68
  "zustand": "^3.0.0"
69
69
  },
70
70
  "devDependencies": {
@@ -0,0 +1,49 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Routes, Route, useParams, useLocation, useNavigate } from 'react-router';
4
+ import { 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 navigate = useNavigate();
23
+ const params = useParams();
24
+ const loc = useLocation();
25
+
26
+ return (
27
+ <Component
28
+ history={getHistory(navigate)}
29
+ location={loc}
30
+ match={{ params, isExact: true, path: loc.pathname, url: location.href }}
31
+ />
32
+ );
33
+ };
34
+
35
+ export const DefaultRouteSwitch: React.FC<RouteSwitchProps> = ({ paths, NotFound, ...props }) => {
36
+ return (
37
+ <Routes {...props}>
38
+ {paths.map(({ path, Component }) => (
39
+ //@ts-ignore
40
+ <Route key={path} path={path} element={<RouteContentWrapper Component={Component} />} />
41
+ ))}
42
+ {
43
+ //@ts-ignore
44
+ <Route path="*" element={<NotFound />} />
45
+ }
46
+ </Routes>
47
+ );
48
+ };
49
+ DefaultRouteSwitch.displayName = 'DefaultRouteSwitch';
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { BrowserRouter } from 'react-router';
4
+ import { RouterProps } from '../types';
5
+
6
+ export const DefaultRouter: React.FC<RouterProps> = ({ children, publicPath }) => {
7
+ return <BrowserRouter basename={publicPath}>{children}</BrowserRouter>;
8
+ };
9
+ DefaultRouter.displayName = 'DefaultRouter';
@@ -0,0 +1,97 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { UNSAFE_NavigationContext as RouterContext, Navigate, useLocation } from 'react-router';
4
+ import { NavigationApi } from '../types';
5
+
6
+ let _nav: any;
7
+ const _noop = () => {};
8
+
9
+ export function useRouterContext() {
10
+ return React.useContext(RouterContext);
11
+ }
12
+
13
+ export function useCurrentNavigation() {
14
+ const ctx: any = useRouterContext();
15
+ const location = useLocation();
16
+
17
+ React.useEffect(() => {
18
+ if (_nav) {
19
+ window.dispatchEvent(
20
+ new CustomEvent('piral-navigate', {
21
+ detail: {
22
+ location,
23
+ },
24
+ }),
25
+ );
26
+ }
27
+ }, [location]);
28
+
29
+ React.useEffect(() => {
30
+ _nav = ctx.navigator;
31
+
32
+ return () => {
33
+ _nav = undefined;
34
+ };
35
+ }, []);
36
+ }
37
+
38
+ export function createRedirect(to: string) {
39
+ return () => <Navigate to={to} />;
40
+ }
41
+
42
+ export function createNavigation(publicPath: string): NavigationApi {
43
+ const enhance = (info) => ({
44
+ ...info,
45
+ location: {
46
+ get href() {
47
+ return _nav.createHref(info.location);
48
+ },
49
+ ...info.location,
50
+ },
51
+ });
52
+
53
+ return {
54
+ get path() {
55
+ const loc = _nav ? _nav.location : location;
56
+ return loc.pathname;
57
+ },
58
+ get url() {
59
+ const loc = _nav ? _nav.location : location;
60
+ return `${loc.pathname}${loc.search}${loc.hash}`;
61
+ },
62
+ push(target, state) {
63
+ if (_nav) {
64
+ _nav.push(target, state);
65
+ }
66
+ },
67
+ replace(target, state) {
68
+ if (_nav) {
69
+ _nav.replace(target, state);
70
+ }
71
+ },
72
+ go(n) {
73
+ if (_nav) {
74
+ _nav.go(n);
75
+ }
76
+ },
77
+ block(blocker) {
78
+ if (!_nav) {
79
+ return _noop;
80
+ }
81
+ return _nav.block((transition) => blocker(enhance(transition)));
82
+ },
83
+ listen(listener) {
84
+ const handler = (e: CustomEvent) => listener(enhance(e.detail));
85
+
86
+ window.addEventListener('piral-navigate', handler);
87
+
88
+ return () => {
89
+ window.removeEventListener('piral-navigate', handler);
90
+ };
91
+ },
92
+ get router() {
93
+ return _nav;
94
+ },
95
+ publicPath,
96
+ };
97
+ }
@@ -1,7 +1,7 @@
1
1
  // this file is bundled, so the references here will not be at runtime (i.e., for a user)
2
2
  import { getModulePath } from 'piral-cli/src/external/resolve';
3
- import { readFileSync, existsSync } from 'fs';
4
- import { resolve, relative, dirname, sep, posix } from 'path';
3
+ import { readFileSync, existsSync } from 'node:fs';
4
+ import { resolve, relative, dirname, sep, posix } from 'node:path';
5
5
 
6
6
  function findPackagePath(moduleDir: string) {
7
7
  const packageJson = 'package.json';
@@ -133,7 +133,7 @@ export function createDependencies(imports: Array<string>, exports: Array<string
133
133
  const asyncAssignments: Array<string> = [];
134
134
 
135
135
  if (appName) {
136
- const parts = [];
136
+ const parts: Array<string> = [];
137
137
 
138
138
  for (const item of shared) {
139
139
  if (typeof item === 'string') {
@@ -213,13 +213,22 @@ export function createDefaultState(imports: Array<string>, exports: Array<string
213
213
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`,
214
214
  `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v6.js'`,
215
215
  );
216
- } else {
216
+ } else if (router.compat === 7) {
217
217
  // React Router v7
218
218
  imports.push(
219
219
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`,
220
220
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`,
221
221
  `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v7.js'`,
222
222
  );
223
+ } else if (router.compat === 8) {
224
+ // React Router v8
225
+ imports.push(
226
+ `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v8.js';`,
227
+ `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v8.js';`,
228
+ `import { createRedirect, createNavigation, useCurrentNavigation } from 'piral-core/${cat}/defaults/navigator_v8.js'`,
229
+ );
230
+ } else {
231
+ throw new Error(`Unsupported router version: ${router.name} v${router.compat}`);
223
232
  }
224
233
 
225
234
  exports.push(`
@@ -287,7 +296,7 @@ export function createDebugHandler(imports: Array<string>, exports: Array<string
287
296
 
288
297
  export function createRouteHandler(imports: Array<string>, exports: Array<string>, opts: CodegenOptions) {
289
298
  const { cat, emulator } = opts;
290
- const assignments = [];
299
+ const assignments: Array<string> = [];
291
300
 
292
301
  imports.push(`import { useGlobalStateContext } from 'piral-core/${cat}/hooks/globalState.js';`);
293
302
 
@@ -1,6 +1,7 @@
1
1
  import { LoadPiletsOptions } from 'piral-base';
2
2
  import { installPiralDebug, DebuggerExtensionOptions } from 'piral-debug-utils';
3
- import { GlobalStateContext } from '../types';
3
+
4
+ import type { GlobalStateContext } from '../types';
4
5
 
5
6
  export function integrateDebugger(
6
7
  context: GlobalStateContext,
@@ -22,7 +23,7 @@ export function integrateDebugger(
22
23
  },
23
24
  fireEvent: context.emit,
24
25
  getDependencies() {
25
- return Object.keys(options.dependencies);
26
+ return Object.keys(options.dependencies || {});
26
27
  },
27
28
  getExtensions() {
28
29
  return context.readState((s) => Object.keys(s.registry.extensions));
@@ -1,6 +1,7 @@
1
1
  import { LoadPiletsOptions } from 'piral-base';
2
2
  import { DebuggerExtensionOptions, installPiletEmulator } from 'piral-debug-utils';
3
- import { GlobalStateContext } from '../types';
3
+
4
+ import type { GlobalStateContext } from '../types';
4
5
 
5
6
  export function integrateEmulator(
6
7
  context: GlobalStateContext,