arcanajs 2.1.4 → 2.1.5
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/framework/cli/webpack.config.js +9 -3
- package/framework/lib/client/index.js +2 -6
- package/framework/lib/shared/components/Body.js +2 -5
- package/framework/lib/shared/components/Link.js +2 -5
- package/framework/lib/shared/components/NavLink.js +2 -5
- package/framework/lib/shared/components/Page.js +2 -8
- package/framework/lib/shared/context/RouterContext.js +2 -5
- package/framework/lib/shared/core/ArcanaJSApp.js +6 -39
- package/package.json +1 -1
|
@@ -79,7 +79,10 @@ const createClientConfig = () => {
|
|
|
79
79
|
options: {
|
|
80
80
|
presets: [
|
|
81
81
|
resolveLoader("@babel/preset-env"),
|
|
82
|
-
|
|
82
|
+
[
|
|
83
|
+
resolveLoader("@babel/preset-react"),
|
|
84
|
+
{ runtime: "automatic" },
|
|
85
|
+
],
|
|
83
86
|
resolveLoader("@babel/preset-typescript"),
|
|
84
87
|
],
|
|
85
88
|
},
|
|
@@ -173,7 +176,7 @@ const createServerConfig = () => {
|
|
|
173
176
|
},
|
|
174
177
|
externals: [
|
|
175
178
|
(0, webpack_node_externals_1.default)({
|
|
176
|
-
allowlist: [
|
|
179
|
+
allowlist: [/^arcanajs/],
|
|
177
180
|
}),
|
|
178
181
|
],
|
|
179
182
|
resolve: {
|
|
@@ -195,7 +198,10 @@ const createServerConfig = () => {
|
|
|
195
198
|
options: {
|
|
196
199
|
presets: [
|
|
197
200
|
resolveLoader("@babel/preset-env"),
|
|
198
|
-
|
|
201
|
+
[
|
|
202
|
+
resolveLoader("@babel/preset-react"),
|
|
203
|
+
{ runtime: "automatic" },
|
|
204
|
+
],
|
|
199
205
|
resolveLoader("@babel/preset-typescript"),
|
|
200
206
|
],
|
|
201
207
|
},
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.hydrateArcanaJS = void 0;
|
|
7
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
5
|
const client_1 = require("react-dom/client");
|
|
9
6
|
const HeadContext_1 = require("../shared/context/HeadContext");
|
|
10
7
|
const ArcanaJSApp_1 = require("../shared/core/ArcanaJSApp");
|
|
@@ -29,8 +26,7 @@ const hydrateArcanaJS = (viewsOrContext, layout) => {
|
|
|
29
26
|
if (container && dataScript) {
|
|
30
27
|
try {
|
|
31
28
|
const { page, data, params, csrfToken } = JSON.parse(dataScript.textContent || "{}");
|
|
32
|
-
(0, client_1.hydrateRoot)(container,
|
|
33
|
-
react_1.default.createElement(ArcanaJSApp_1.ArcanaJSApp, { initialPage: page, initialData: data, initialParams: params, csrfToken: csrfToken, views: views, layout: layout })));
|
|
29
|
+
(0, client_1.hydrateRoot)(container, (0, jsx_runtime_1.jsx)(HeadContext_1.HeadContext.Provider, { value: headManager, children: (0, jsx_runtime_1.jsx)(ArcanaJSApp_1.ArcanaJSApp, { initialPage: page, initialData: data, initialParams: params, csrfToken: csrfToken, views: views, layout: layout }) }));
|
|
34
30
|
}
|
|
35
31
|
catch (e) {
|
|
36
32
|
console.error("Failed to parse initial data", e);
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Body = void 0;
|
|
7
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
5
|
const Body = ({ children }) => {
|
|
9
|
-
return
|
|
6
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
|
|
10
7
|
};
|
|
11
8
|
exports.Body = Body;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Link = void 0;
|
|
7
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
5
|
const useRouter_1 = require("../hooks/useRouter");
|
|
9
6
|
const Link = ({ href, children, ...props }) => {
|
|
10
7
|
const { navigateTo } = (0, useRouter_1.useRouter)();
|
|
@@ -12,6 +9,6 @@ const Link = ({ href, children, ...props }) => {
|
|
|
12
9
|
e.preventDefault();
|
|
13
10
|
navigateTo(href);
|
|
14
11
|
};
|
|
15
|
-
return (
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)("a", { href: href, onClick: handleClick, ...props, children: children }));
|
|
16
13
|
};
|
|
17
14
|
exports.Link = Link;
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.NavLink = void 0;
|
|
7
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
5
|
const Link_1 = require("./Link");
|
|
9
6
|
const useRouter_1 = require("../hooks/useRouter");
|
|
10
7
|
const NavLink = ({ href, activeClassName = "active", className = "", exact = false, children, ...props }) => {
|
|
11
8
|
const { currentUrl } = (0, useRouter_1.useRouter)();
|
|
12
9
|
const isActive = exact ? currentUrl === href : currentUrl.startsWith(href);
|
|
13
10
|
const combinedClassName = `${className} ${isActive ? activeClassName : ""}`.trim();
|
|
14
|
-
return (
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)(Link_1.Link, { href: href, className: combinedClassName, ...props, children: children }));
|
|
15
12
|
};
|
|
16
13
|
exports.NavLink = NavLink;
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Page = void 0;
|
|
7
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
5
|
const PageContext_1 = require("../context/PageContext");
|
|
9
6
|
const Head_1 = require("./Head");
|
|
10
7
|
const Page = ({ data, title, children }) => {
|
|
11
|
-
return (
|
|
12
|
-
title && (react_1.default.createElement(Head_1.Head, null,
|
|
13
|
-
react_1.default.createElement("title", null, title))),
|
|
14
|
-
children));
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(PageContext_1.PageContext.Provider, { value: data, children: [title && ((0, jsx_runtime_1.jsx)(Head_1.Head, { children: (0, jsx_runtime_1.jsx)("title", { children: title }) })), children] }));
|
|
15
9
|
};
|
|
16
10
|
exports.Page = Page;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.RouterProvider = exports.RouterContext = void 0;
|
|
7
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
5
|
const createSingletonContext_1 = require("../utils/createSingletonContext");
|
|
9
6
|
exports.RouterContext = (0, createSingletonContext_1.createSingletonContext)("RouterContext", null);
|
|
10
7
|
const RouterProvider = ({ value, children }) => {
|
|
11
|
-
return (
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(exports.RouterContext.Provider, { value: value, children: children }));
|
|
12
9
|
};
|
|
13
10
|
exports.RouterProvider = RouterProvider;
|
|
@@ -1,40 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.ArcanaJSApp = void 0;
|
|
37
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
38
6
|
const Page_1 = require("../components/Page");
|
|
39
7
|
const RouterContext_1 = require("../context/RouterContext");
|
|
40
8
|
const ArcanaJSApp = ({ initialPage, initialData, initialParams = {}, initialUrl, csrfToken, views, layout: Layout, }) => {
|
|
@@ -82,17 +50,16 @@ const ArcanaJSApp = ({ initialPage, initialData, initialParams = {}, initialUrl,
|
|
|
82
50
|
}
|
|
83
51
|
};
|
|
84
52
|
const renderPage = () => {
|
|
85
|
-
const Component = views[page] || views["NotFoundPage"] || (() =>
|
|
86
|
-
return (
|
|
87
|
-
react_1.default.createElement(Component, { data: data, navigateTo: navigateTo, params: params })));
|
|
53
|
+
const Component = views[page] || views["NotFoundPage"] || (() => (0, jsx_runtime_1.jsx)("div", { children: "404 Not Found" }));
|
|
54
|
+
return ((0, jsx_runtime_1.jsx)(Page_1.Page, { data: data, children: (0, jsx_runtime_1.jsx)(Component, { data: data, navigateTo: navigateTo, params: params }) }));
|
|
88
55
|
};
|
|
89
56
|
const content = renderPage();
|
|
90
|
-
return (
|
|
57
|
+
return ((0, jsx_runtime_1.jsx)(RouterContext_1.RouterProvider, { value: {
|
|
91
58
|
navigateTo,
|
|
92
59
|
currentPage: page,
|
|
93
60
|
currentUrl: url,
|
|
94
61
|
params,
|
|
95
62
|
csrfToken,
|
|
96
|
-
}
|
|
63
|
+
}, children: Layout ? (0, jsx_runtime_1.jsx)(Layout, { children: content }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: content }) }));
|
|
97
64
|
};
|
|
98
65
|
exports.ArcanaJSApp = ArcanaJSApp;
|