@anansi/core 0.13.0 → 0.14.2
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/CHANGELOG.md +34 -0
- package/dist/client.js +43 -54
- package/dist/client.js.map +1 -1
- package/dist/server.js +137 -153
- package/dist/server.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -6
- package/lib/index.server.d.ts +2 -1
- package/lib/index.server.d.ts.map +1 -1
- package/lib/index.server.js +2 -6
- package/lib/spouts/document.d.ts +2 -8
- package/lib/spouts/document.d.ts.map +1 -1
- package/lib/spouts/document.js +4 -6
- package/lib/spouts/document.server.d.ts +3 -5
- package/lib/spouts/document.server.d.ts.map +1 -1
- package/lib/spouts/document.server.js +40 -42
- package/lib/spouts/json.d.ts +3 -3
- package/lib/spouts/json.d.ts.map +1 -1
- package/lib/spouts/json.js +6 -6
- package/lib/spouts/json.server.d.ts +3 -5
- package/lib/spouts/json.server.d.ts.map +1 -1
- package/lib/spouts/json.server.js +32 -34
- package/lib/spouts/restHooks.d.ts +2 -4
- package/lib/spouts/restHooks.d.ts.map +1 -1
- package/lib/spouts/restHooks.js +9 -11
- package/lib/spouts/restHooks.server.d.ts +5 -81
- package/lib/spouts/restHooks.server.d.ts.map +1 -1
- package/lib/spouts/restHooks.server.js +15 -17
- package/lib/spouts/router.d.ts +4 -4
- package/lib/spouts/router.d.ts.map +1 -1
- package/lib/spouts/router.js +14 -13
- package/lib/spouts/router.server.d.ts +3 -6
- package/lib/spouts/router.server.d.ts.map +1 -1
- package/lib/spouts/router.server.js +17 -19
- package/lib/spouts/types.d.ts +2 -0
- package/lib/spouts/types.d.ts.map +1 -1
- package/lib/spouts/types.js +1 -1
- package/package.json +11 -7
- package/src/index.server.ts +2 -1
- package/src/index.ts +2 -1
- package/src/spouts/document.server.tsx +63 -67
- package/src/spouts/document.tsx +5 -14
- package/src/spouts/json.server.tsx +40 -40
- package/src/spouts/json.tsx +8 -11
- package/src/spouts/restHooks.server.tsx +25 -29
- package/src/spouts/restHooks.tsx +12 -18
- package/src/spouts/router.server.tsx +30 -34
- package/src/spouts/router.tsx +20 -19
- package/src/spouts/types.ts +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,40 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
### [0.14.2](https://github.com/ntucker/anansi/compare/@anansi/core@0.14.1...@anansi/core@0.14.2) (2022-07-01)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### 🐛 Bug Fix
|
|
10
|
+
|
|
11
|
+
* spout types: ([7666611](https://github.com/ntucker/anansi/commit/76666114833a416e79c7b8e8953bb11d2170bca8))
|
|
12
|
+
* Use split by field requirements ([f9133b7](https://github.com/ntucker/anansi/commit/f9133b760845b9dfa7037d14373bfe48a456475c))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### [0.14.1](https://github.com/ntucker/anansi/compare/@anansi/core@0.14.0...@anansi/core@0.14.1) (2022-06-29)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 🐛 Bug Fix
|
|
20
|
+
|
|
21
|
+
* Provide rest-hooks package for rest-hooks/ssr ([#1569](https://github.com/ntucker/anansi/issues/1569)) ([1dbb8ae](https://github.com/ntucker/anansi/commit/1dbb8aec39ad3180a96e76827611b05b53d7e02f))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### 📦 Package
|
|
25
|
+
|
|
26
|
+
* Update babel monorepo to v7.18.6 ([#1566](https://github.com/ntucker/anansi/issues/1566)) ([1634f13](https://github.com/ntucker/anansi/commit/1634f1358de98ba724433ffb462094ad17f88b72))
|
|
27
|
+
* Update jest monorepo to ^28.1.2 ([#1567](https://github.com/ntucker/anansi/issues/1567)) ([2e614b1](https://github.com/ntucker/anansi/commit/2e614b1bc54ade3cf78717e7d26d606f5e917888))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## [0.14.0](https://github.com/ntucker/anansi/compare/@anansi/core@0.13.0...@anansi/core@0.14.0) (2022-06-24)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### 🚀 Features
|
|
35
|
+
|
|
36
|
+
* Add Spout type for easy spout construction ([8f93eb3](https://github.com/ntucker/anansi/commit/8f93eb363f1bfe30d1ac30395df1a3d9fbd9cab3))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
6
40
|
## [0.13.0](https://github.com/ntucker/anansi/compare/@anansi/core@0.12.0...@anansi/core@0.13.0) (2022-06-23)
|
|
7
41
|
|
|
8
42
|
|
package/dist/client.js
CHANGED
|
@@ -52,7 +52,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
52
52
|
// EXPORTS
|
|
53
53
|
__webpack_require__.d(__webpack_exports__, {
|
|
54
54
|
"JSONSpout": () => (/* reexport */ JSONSpout),
|
|
55
|
-
"ServerProps": () => (/* reexport */ types_namespaceObject.ServerProps),
|
|
56
55
|
"appSpout": () => (/* reexport */ app),
|
|
57
56
|
"documentSpout": () => (/* reexport */ documentSpout),
|
|
58
57
|
"floodSpouts": () => (/* reexport */ floodSpouts),
|
|
@@ -60,10 +59,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
60
59
|
"routerSpout": () => (/* reexport */ routerSpout)
|
|
61
60
|
});
|
|
62
61
|
|
|
63
|
-
// NAMESPACE OBJECT: ./src/spouts/types.ts
|
|
64
|
-
var types_namespaceObject = {};
|
|
65
|
-
__webpack_require__.r(types_namespaceObject);
|
|
66
|
-
|
|
67
62
|
;// CONCATENATED MODULE: external "react-dom/client"
|
|
68
63
|
const client_namespaceObject = require("react-dom/client");
|
|
69
64
|
;// CONCATENATED MODULE: ./src/floodSpouts.tsx
|
|
@@ -80,11 +75,9 @@ async function floodSpouts(spouts, {
|
|
|
80
75
|
}
|
|
81
76
|
;// CONCATENATED MODULE: ./src/spouts/document.tsx
|
|
82
77
|
function documentSpout(options) {
|
|
83
|
-
return
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return nextProps;
|
|
87
|
-
};
|
|
78
|
+
return next => async props => {
|
|
79
|
+
const nextProps = await next(props);
|
|
80
|
+
return nextProps;
|
|
88
81
|
};
|
|
89
82
|
}
|
|
90
83
|
;// CONCATENATED MODULE: external "react"
|
|
@@ -99,22 +92,20 @@ var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.
|
|
|
99
92
|
function restHooksSpout(options = {
|
|
100
93
|
getManagers: () => [new core_namespaceObject.NetworkManager()]
|
|
101
94
|
}) {
|
|
102
|
-
return
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}, nextProps.app)
|
|
117
|
-
};
|
|
95
|
+
return next => async props => {
|
|
96
|
+
const data = props.initData.resthooks;
|
|
97
|
+
const nextProps = await next(props);
|
|
98
|
+
return { ...nextProps,
|
|
99
|
+
app: /*#__PURE__*/external_react_default().createElement(core_namespaceObject.CacheProvider, {
|
|
100
|
+
initialState: data,
|
|
101
|
+
managers: options.getManagers(),
|
|
102
|
+
__self: this,
|
|
103
|
+
__source: {
|
|
104
|
+
fileName: _jsxFileName,
|
|
105
|
+
lineNumber: 23,
|
|
106
|
+
columnNumber: 9
|
|
107
|
+
}
|
|
108
|
+
}, nextProps.app)
|
|
118
109
|
};
|
|
119
110
|
};
|
|
120
111
|
}
|
|
@@ -139,31 +130,32 @@ function routerSpout(options) {
|
|
|
139
130
|
__self: this,
|
|
140
131
|
__source: {
|
|
141
132
|
fileName: router_jsxFileName,
|
|
142
|
-
lineNumber:
|
|
133
|
+
lineNumber: 28,
|
|
143
134
|
columnNumber: 9
|
|
144
135
|
}
|
|
145
136
|
}, children);
|
|
146
137
|
};
|
|
147
138
|
|
|
148
|
-
return
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
139
|
+
return next => async props => {
|
|
140
|
+
const history = (0,external_history_namespaceObject.createBrowserHistory)();
|
|
141
|
+
const router = options.createRouter(history);
|
|
142
|
+
const matchedRoutes = router.getMatchedRoutes(history.location.pathname);
|
|
143
|
+
const nextProps = await next({ ...props,
|
|
144
|
+
matchedRoutes,
|
|
145
|
+
router
|
|
146
|
+
});
|
|
147
|
+
const Router = createRouteComponent(router);
|
|
148
|
+
return { ...nextProps,
|
|
149
|
+
matchedRoutes,
|
|
150
|
+
router,
|
|
151
|
+
app: /*#__PURE__*/external_react_default().createElement(Router, {
|
|
152
|
+
__self: this,
|
|
153
|
+
__source: {
|
|
154
|
+
fileName: router_jsxFileName,
|
|
155
|
+
lineNumber: 50,
|
|
156
|
+
columnNumber: 12
|
|
157
|
+
}
|
|
158
|
+
}, nextProps.app)
|
|
167
159
|
};
|
|
168
160
|
};
|
|
169
161
|
}
|
|
@@ -171,12 +163,12 @@ function routerSpout(options) {
|
|
|
171
163
|
function JSONSpout({
|
|
172
164
|
id = 'anansi-json'
|
|
173
165
|
} = {}) {
|
|
174
|
-
return
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
return await next({ ...props,
|
|
166
|
+
return next => async props => {
|
|
167
|
+
const initData = getDatafromDOM(id);
|
|
168
|
+
return { ...(await next({ ...props,
|
|
178
169
|
initData
|
|
179
|
-
})
|
|
170
|
+
})),
|
|
171
|
+
initData
|
|
180
172
|
};
|
|
181
173
|
};
|
|
182
174
|
}
|
|
@@ -191,8 +183,6 @@ const appSpout = app => props => Promise.resolve({ ...props,
|
|
|
191
183
|
});
|
|
192
184
|
|
|
193
185
|
/* harmony default export */ const app = (appSpout);
|
|
194
|
-
;// CONCATENATED MODULE: ./src/spouts/types.ts
|
|
195
|
-
|
|
196
186
|
;// CONCATENATED MODULE: ./src/index.ts
|
|
197
187
|
|
|
198
188
|
|
|
@@ -200,7 +190,6 @@ const appSpout = app => props => Promise.resolve({ ...props,
|
|
|
200
190
|
|
|
201
191
|
|
|
202
192
|
|
|
203
|
-
|
|
204
193
|
module.exports = __webpack_exports__;
|
|
205
194
|
/******/ })()
|
|
206
195
|
;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","mappings":";;AAAA;AACA;AACA;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA
|
|
1
|
+
{"version":3,"file":"client.js","mappings":";;AAAA;AACA;AACA;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACNA;;ACAA;AAEA;AAIA;AAAA;AACA;;AACA;AAAA;AAAA;AAEA;AACA;;ACNA;AAIA;AACA;AAEA;AACA;AACA;;ACdA;;;ACAA;;;;ACAA;AASA;AAGA;AAAA;AAEA;AACA;AAEA;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAHA;AAQA;AACA;;AC5BA;;ACAA;;;ACAA;AACA;AACA;AAKA;AAaA;AAGA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AAHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;;AAEA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAJA;AAMA;AACA;;AClDA;AACA;AADA;AAMA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AACA;AACA;AACA;AACA;;AChBA;AAGA;AAAA;;AAEA;;ACLA;AACA;AACA;AACA;AACA","sources":["/home/ntucker/src/anansi/packages/core/webpack/bootstrap","/home/ntucker/src/anansi/packages/core/webpack/runtime/compat get default export","/home/ntucker/src/anansi/packages/core/webpack/runtime/define property getters","/home/ntucker/src/anansi/packages/core/webpack/runtime/hasOwnProperty shorthand","/home/ntucker/src/anansi/packages/core/webpack/runtime/make namespace object","/home/ntucker/src/anansi/packages/core/external commonjs \"react-dom/client\"","/home/ntucker/src/anansi/packages/core/src/floodSpouts.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/document.tsx","/home/ntucker/src/anansi/packages/core/external commonjs \"react\"","/home/ntucker/src/anansi/packages/core/external commonjs \"@rest-hooks/core\"","/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.tsx","/home/ntucker/src/anansi/packages/core/external commonjs \"@anansi/router\"","/home/ntucker/src/anansi/packages/core/external commonjs \"history\"","/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/json.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/app.tsx","/home/ntucker/src/anansi/packages/core/src/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-dom/client\");","import { hydrateRoot } from 'react-dom/client';\n\nexport default async function floodSpouts(\n spouts: (props: Record<string, unknown>) => Promise<{\n app: JSX.Element;\n }>,\n { rootId = 'anansi-root' }: { rootId?: string } = {},\n) {\n const { app } = await spouts({});\n\n hydrateRoot(document.getElementById(rootId) ?? document, app);\n}\n","import React from 'react';\nimport type { Route } from '@anansi/router';\n\nimport type { ClientSpout } from './types';\n\nexport default function documentSpout(options: {\n head?: React.ReactNode;\n title: string;\n}): ClientSpout {\n return next => async props => {\n const nextProps = await next(props);\n\n return nextProps;\n };\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rest-hooks/core\");","import {\n CacheProvider,\n Manager,\n NetworkManager,\n State,\n} from '@rest-hooks/core';\n\nimport type { ClientSpout } from './types';\n\nexport default function restHooksSpout(\n options: {\n getManagers: () => Manager[];\n } = { getManagers: () => [new NetworkManager()] },\n): ClientSpout<{ initData: Record<string, unknown> }> {\n return next => async props => {\n const data = props.initData.resthooks as State<unknown>;\n\n const nextProps = await next(props);\n\n return {\n ...nextProps,\n app: (\n <CacheProvider initialState={data} managers={options.getManagers()}>\n {nextProps.app}\n </CacheProvider>\n ),\n };\n };\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@anansi/router\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"history\");","import { Route, RouteProvider, RouteController } from '@anansi/router';\nimport React from 'react';\nimport { createBrowserHistory } from 'history';\nimport type { Update } from 'history';\n\nimport type { CreateRouter, ClientSpout } from './types';\n\nexport default function routerSpout<ResolveWith>(options: {\n resolveWith?: any;\n useResolveWith: () => ResolveWith;\n createRouter: CreateRouter<ResolveWith>;\n onChange?: (update: Update, callback: () => void | undefined) => void;\n}): ClientSpout<\n Record<string, unknown>,\n {\n matchedRoutes: Route<ResolveWith, any>[];\n } & {\n router: RouteController<Route<ResolveWith, any>>;\n }\n> {\n const createRouteComponent = (\n router: RouteController<Route<ResolveWith, any>>,\n ) =>\n function Router({ children }: { children: React.ReactNode }) {\n const resolveWith = options.useResolveWith();\n\n return (\n <RouteProvider\n router={router}\n resolveWith={resolveWith}\n onChange={options.onChange}\n >\n {children}\n </RouteProvider>\n );\n };\n\n return next => async props => {\n const history = createBrowserHistory();\n const router = options.createRouter(history);\n const matchedRoutes = router.getMatchedRoutes(history.location.pathname);\n\n const nextProps = await next({ ...props, matchedRoutes, router });\n\n const Router = createRouteComponent(router);\n return {\n ...nextProps,\n matchedRoutes,\n router,\n app: <Router>{nextProps.app}</Router>,\n };\n };\n}\n","import type { ClientSpout } from './types';\n\nexport default function JSONSpout({\n id = 'anansi-json',\n}: { id?: string } = {}): ClientSpout<\n Record<string, unknown>,\n { initData: Record<string, unknown> }\n> {\n return next => async props => {\n const initData = getDatafromDOM(id);\n return { ...(await next({ ...props, initData })), initData };\n };\n}\nfunction getDatafromDOM(id: string): Record<string, unknown> {\n const element: HTMLScriptElement | null = document.querySelector(`#${id}`);\n return element?.text ? JSON.parse(element?.text) : undefined;\n}\n","const appSpout =\n (app: JSX.Element) =>\n <P extends Record<string, unknown>>(props: P) =>\n Promise.resolve({ ...props, app });\n\nexport default appSpout;\n","export { default as floodSpouts } from './floodSpouts';\nexport { default as documentSpout } from './spouts/document';\nexport { default as restHooksSpout } from './spouts/restHooks';\nexport { default as routerSpout } from './spouts/router';\nexport { default as JSONSpout } from './spouts/json';\nexport { default as appSpout } from './spouts/app';\nexport type { ServerProps } from './spouts/types';\nexport type { ClientSpout as Spout } from './spouts/types';\n"],"names":[],"sourceRoot":""}
|
package/dist/server.js
CHANGED
|
@@ -52,7 +52,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
52
52
|
// EXPORTS
|
|
53
53
|
__webpack_require__.d(__webpack_exports__, {
|
|
54
54
|
"JSONSpout": () => (/* reexport */ JSONSpout),
|
|
55
|
-
"ServerProps": () => (/* reexport */ types_namespaceObject.ServerProps),
|
|
56
55
|
"appSpout": () => (/* reexport */ app_server),
|
|
57
56
|
"documentSpout": () => (/* reexport */ DocumentSpout),
|
|
58
57
|
"laySpouts": () => (/* reexport */ laySpouts),
|
|
@@ -61,10 +60,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
61
60
|
"routerSpout": () => (/* reexport */ routerSpout)
|
|
62
61
|
});
|
|
63
62
|
|
|
64
|
-
// NAMESPACE OBJECT: ./src/spouts/types.ts
|
|
65
|
-
var types_namespaceObject = {};
|
|
66
|
-
__webpack_require__.r(types_namespaceObject);
|
|
67
|
-
|
|
68
63
|
;// CONCATENATED MODULE: external "react-dom/server"
|
|
69
64
|
const server_namespaceObject = require("react-dom/server");
|
|
70
65
|
;// CONCATENATED MODULE: external "crypto"
|
|
@@ -293,59 +288,57 @@ var document_server_jsxFileName = "/home/ntucker/src/anansi/packages/core/src/sp
|
|
|
293
288
|
|
|
294
289
|
|
|
295
290
|
function DocumentSpout(options) {
|
|
296
|
-
return
|
|
297
|
-
|
|
298
|
-
var _props$clientManifest, _props$clientManifest2, _props$clientManifest3, _props$clientManifest4, _props$clientManifest5, _nextProps$title;
|
|
291
|
+
return next => async props => {
|
|
292
|
+
var _props$clientManifest, _props$clientManifest2, _props$clientManifest3, _props$clientManifest4, _props$clientManifest5, _nextProps$title;
|
|
299
293
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
294
|
+
const nextProps = await next(props);
|
|
295
|
+
const publicPath = props.clientManifest.publicPath;
|
|
296
|
+
if (Object.keys((_props$clientManifest = (_props$clientManifest2 = props.clientManifest) === null || _props$clientManifest2 === void 0 ? void 0 : _props$clientManifest2.entrypoints) != null ? _props$clientManifest : {}).length < 1 || publicPath === undefined) throw new Error('Manifest missing entries needed'); // TODO: consider using this package for build stats in future:
|
|
297
|
+
// https://github.com/facebook/react/tree/main/packages/react-server-dom-webpack
|
|
304
298
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
299
|
+
const assetMap = assets => assets.map(({
|
|
300
|
+
name
|
|
301
|
+
}) => `${publicPath}${name}`);
|
|
308
302
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
303
|
+
const assetList = [];
|
|
304
|
+
Object.values((_props$clientManifest3 = (_props$clientManifest4 = props.clientManifest) === null || _props$clientManifest4 === void 0 ? void 0 : _props$clientManifest4.entrypoints) != null ? _props$clientManifest3 : {}).forEach(entrypoint => {
|
|
305
|
+
var _entrypoint$assets;
|
|
312
306
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
};
|
|
307
|
+
assetList.push(...assetMap((_entrypoint$assets = entrypoint.assets) != null ? _entrypoint$assets : []));
|
|
308
|
+
});
|
|
309
|
+
new Set(assetMap(Object.values((_props$clientManifest5 = props.clientManifest.namedChunkGroups) != null ? _props$clientManifest5 : {}).filter(({
|
|
310
|
+
name
|
|
311
|
+
}) => nextProps.matchedRoutes.some(route => name === null || name === void 0 ? void 0 : name.includes(route.name))).flatMap(chunk => {
|
|
312
|
+
var _chunk$assets;
|
|
313
|
+
|
|
314
|
+
return [...((_chunk$assets = chunk.assets) != null ? _chunk$assets : []), // any chunk preloads
|
|
315
|
+
...childrenAssets(chunk)];
|
|
316
|
+
}))).forEach(asset => assetList.push(asset)); // find additional assets to preload based on matched route
|
|
317
|
+
|
|
318
|
+
const assets = assetList.filter(asset => !asset.endsWith('.hot-update.js')).map(asset => asset.endsWith('.css') ? {
|
|
319
|
+
href: asset,
|
|
320
|
+
rel: 'stylesheet'
|
|
321
|
+
} : asset.endsWith('.js') ? {
|
|
322
|
+
href: asset,
|
|
323
|
+
as: 'script'
|
|
324
|
+
} : {
|
|
325
|
+
href: asset
|
|
326
|
+
});
|
|
327
|
+
return { ...nextProps,
|
|
328
|
+
app: /*#__PURE__*/external_react_default().createElement(Document, { ...options,
|
|
329
|
+
title: (_nextProps$title = nextProps.title) != null ? _nextProps$title : options.title,
|
|
330
|
+
assets: assets,
|
|
331
|
+
rootId: options.rootId,
|
|
332
|
+
nonce: props.nonce,
|
|
333
|
+
csPolicy: options.csPolicy,
|
|
334
|
+
scripts: nextProps.scripts,
|
|
335
|
+
__self: this,
|
|
336
|
+
__source: {
|
|
337
|
+
fileName: document_server_jsxFileName,
|
|
338
|
+
lineNumber: 55,
|
|
339
|
+
columnNumber: 12
|
|
340
|
+
}
|
|
341
|
+
}, nextProps.app)
|
|
349
342
|
};
|
|
350
343
|
};
|
|
351
344
|
}
|
|
@@ -412,29 +405,27 @@ var restHooks_server_jsxFileName = "/home/ntucker/src/anansi/packages/core/src/s
|
|
|
412
405
|
function restHooksSpout(options = {
|
|
413
406
|
getManagers: () => [new core_namespaceObject.NetworkManager()]
|
|
414
407
|
}) {
|
|
415
|
-
return
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
store
|
|
437
|
-
};
|
|
408
|
+
return next => async props => {
|
|
409
|
+
const [ServerCacheProvider, controller, store] = createPersistedStore(options.getManagers());
|
|
410
|
+
const nextProps = await next({ ...props,
|
|
411
|
+
controller,
|
|
412
|
+
store
|
|
413
|
+
});
|
|
414
|
+
return { ...nextProps,
|
|
415
|
+
initData: { ...nextProps.initData,
|
|
416
|
+
resthooks: () => store.getState()
|
|
417
|
+
},
|
|
418
|
+
app: /*#__PURE__*/external_react_default().createElement(ServerCacheProvider, {
|
|
419
|
+
__self: this,
|
|
420
|
+
__source: {
|
|
421
|
+
fileName: restHooks_server_jsxFileName,
|
|
422
|
+
lineNumber: 33,
|
|
423
|
+
columnNumber: 12
|
|
424
|
+
}
|
|
425
|
+
}, nextProps.app),
|
|
426
|
+
// TODO: figure out how to only inject in next and not have to also put here
|
|
427
|
+
controller,
|
|
428
|
+
store
|
|
438
429
|
};
|
|
439
430
|
};
|
|
440
431
|
}
|
|
@@ -458,37 +449,35 @@ function routerSpout(options) {
|
|
|
458
449
|
__self: this,
|
|
459
450
|
__source: {
|
|
460
451
|
fileName: router_server_jsxFileName,
|
|
461
|
-
lineNumber:
|
|
452
|
+
lineNumber: 26,
|
|
462
453
|
columnNumber: 9
|
|
463
454
|
}
|
|
464
455
|
}, children);
|
|
465
456
|
};
|
|
466
457
|
|
|
467
|
-
return
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
router
|
|
491
|
-
};
|
|
458
|
+
return next => async props => {
|
|
459
|
+
const url = props.req.url || '';
|
|
460
|
+
const router = options.createRouter((0,external_history_namespaceObject.createMemoryHistory)({
|
|
461
|
+
initialEntries: [url]
|
|
462
|
+
}));
|
|
463
|
+
const matchedRoutes = router.getMatchedRoutes(url);
|
|
464
|
+
const nextProps = await next({ ...props,
|
|
465
|
+
matchedRoutes,
|
|
466
|
+
router
|
|
467
|
+
});
|
|
468
|
+
const Router = createRouteComponent(router);
|
|
469
|
+
return { ...nextProps,
|
|
470
|
+
app: /*#__PURE__*/external_react_default().createElement(Router, {
|
|
471
|
+
__self: this,
|
|
472
|
+
__source: {
|
|
473
|
+
fileName: router_server_jsxFileName,
|
|
474
|
+
lineNumber: 49,
|
|
475
|
+
columnNumber: 12
|
|
476
|
+
}
|
|
477
|
+
}, nextProps.app),
|
|
478
|
+
// TODO: figure out how to only inject in next and not have to also put here
|
|
479
|
+
matchedRoutes,
|
|
480
|
+
router
|
|
492
481
|
};
|
|
493
482
|
};
|
|
494
483
|
}
|
|
@@ -520,13 +509,12 @@ var json_server_jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts
|
|
|
520
509
|
function JSONSpout({
|
|
521
510
|
id = 'anansi-json'
|
|
522
511
|
} = {}) {
|
|
523
|
-
return
|
|
524
|
-
|
|
525
|
-
var _nextProps$scripts;
|
|
512
|
+
return next => async props => {
|
|
513
|
+
var _nextProps$scripts;
|
|
526
514
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
515
|
+
const nextProps = await next(props);
|
|
516
|
+
const scripts = (_nextProps$scripts = nextProps.scripts) != null ? _nextProps$scripts : [];
|
|
517
|
+
/*
|
|
530
518
|
Object.entries(nextProps.initData ?? {}).forEach(([key, data]) => {
|
|
531
519
|
try {
|
|
532
520
|
const encoded = JSON.stringify(data);
|
|
@@ -547,49 +535,48 @@ function JSONSpout({
|
|
|
547
535
|
}
|
|
548
536
|
});*/
|
|
549
537
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
538
|
+
const Script = () => {
|
|
539
|
+
try {
|
|
540
|
+
var _nextProps$initData;
|
|
553
541
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
542
|
+
const data = {};
|
|
543
|
+
Object.entries((_nextProps$initData = nextProps.initData) != null ? _nextProps$initData : {}).forEach(([key, getData]) => {
|
|
544
|
+
data[key] = getData();
|
|
545
|
+
});
|
|
546
|
+
const encoded = JSON.stringify(data);
|
|
547
|
+
return /*#__PURE__*/external_react_default().createElement("script", {
|
|
548
|
+
key: id,
|
|
549
|
+
id: id,
|
|
550
|
+
type: "application/json",
|
|
551
|
+
dangerouslySetInnerHTML: {
|
|
552
|
+
__html: encoded
|
|
553
|
+
},
|
|
554
|
+
nonce: props.nonce,
|
|
555
|
+
__self: this,
|
|
556
|
+
__source: {
|
|
557
|
+
fileName: json_server_jsxFileName,
|
|
558
|
+
lineNumber: 49,
|
|
559
|
+
columnNumber: 11
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
} catch (e) {
|
|
563
|
+
// TODO: Use unified logging
|
|
564
|
+
console.error('Error serializing json');
|
|
565
|
+
console.error(e);
|
|
566
|
+
return null;
|
|
567
|
+
}
|
|
568
|
+
};
|
|
581
569
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
};
|
|
570
|
+
scripts.push( /*#__PURE__*/external_react_default().createElement(Script, {
|
|
571
|
+
__self: this,
|
|
572
|
+
__source: {
|
|
573
|
+
fileName: json_server_jsxFileName,
|
|
574
|
+
lineNumber: 66,
|
|
575
|
+
columnNumber: 18
|
|
576
|
+
}
|
|
577
|
+
}));
|
|
578
|
+
return { ...nextProps,
|
|
579
|
+
scripts
|
|
593
580
|
};
|
|
594
581
|
};
|
|
595
582
|
}
|
|
@@ -599,8 +586,6 @@ const appSpout = app => props => Promise.resolve({ ...props,
|
|
|
599
586
|
});
|
|
600
587
|
|
|
601
588
|
/* harmony default export */ const app_server = (appSpout);
|
|
602
|
-
;// CONCATENATED MODULE: ./src/spouts/types.ts
|
|
603
|
-
|
|
604
589
|
;// CONCATENATED MODULE: ./src/index.server.ts
|
|
605
590
|
|
|
606
591
|
|
|
@@ -609,7 +594,6 @@ const appSpout = app => props => Promise.resolve({ ...props,
|
|
|
609
594
|
|
|
610
595
|
|
|
611
596
|
|
|
612
|
-
|
|
613
597
|
module.exports = __webpack_exports__;
|
|
614
598
|
/******/ })()
|
|
615
599
|
;
|