@anansi/core 0.15.2 → 0.15.3
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 +10 -0
- package/dist/client.js +223 -124
- package/dist/client.js.map +1 -1
- package/dist/server.js +781 -208
- package/dist/server.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.server.js +1 -1
- package/lib/laySpouts.js +1 -1
- package/lib/scripts/getProxyMiddlewares.js +8 -1
- package/lib/scripts/index.js +1 -1
- package/lib/scripts/serve.js +8 -2
- package/lib/scripts/startDevserver.js +13 -2
- package/lib/spouts/DocumentComponent.js +12 -4
- package/lib/spouts/csp.js +28 -2
- package/lib/spouts/document.server.js +34 -3
- package/lib/spouts/json.js +2 -1
- package/lib/spouts/json.server.js +9 -4
- package/lib/spouts/prefetch.server.js +6 -1
- package/lib/spouts/restHooks.js +2 -2
- package/lib/spouts/restHooks.server.js +4 -3
- package/lib/spouts/router.js +2 -2
- package/lib/spouts/router.server.js +2 -2
- package/package.json +6 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
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.15.3](https://github.com/ntucker/anansi/compare/@anansi/core@0.15.2...@anansi/core@0.15.3) (2022-12-02)
|
|
7
|
+
|
|
8
|
+
### 💅 Enhancement
|
|
9
|
+
|
|
10
|
+
* Use @babel/runtime-corejs3 ([00f0118](https://github.com/ntucker/anansi/commit/00f0118cc713e04465c6eb6f88ea10b14f5cf062))
|
|
11
|
+
|
|
12
|
+
### 📦 Package
|
|
13
|
+
|
|
14
|
+
* Update babel packages to v7.20.5 ([#1776](https://github.com/ntucker/anansi/issues/1776)) ([a231b89](https://github.com/ntucker/anansi/commit/a231b891a77501717db2e0a3ad351d1d9ed55784))
|
|
15
|
+
|
|
6
16
|
### [0.15.2](https://github.com/ntucker/anansi/compare/@anansi/core@0.15.1...@anansi/core@0.15.2) (2022-11-23)
|
|
7
17
|
|
|
8
18
|
### 📦 Package
|
package/dist/client.js
CHANGED
|
@@ -1,68 +1,15 @@
|
|
|
1
1
|
/******/ (() => { // webpackBootstrap
|
|
2
|
-
/******/
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/******/ (() => {
|
|
9
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
10
|
-
/******/ __webpack_require__.n = (module) => {
|
|
11
|
-
/******/ var getter = module && module.__esModule ?
|
|
12
|
-
/******/ () => (module['default']) :
|
|
13
|
-
/******/ () => (module);
|
|
14
|
-
/******/ __webpack_require__.d(getter, { a: getter });
|
|
15
|
-
/******/ return getter;
|
|
16
|
-
/******/ };
|
|
17
|
-
/******/ })();
|
|
18
|
-
/******/
|
|
19
|
-
/******/ /* webpack/runtime/define property getters */
|
|
20
|
-
/******/ (() => {
|
|
21
|
-
/******/ // define getter functions for harmony exports
|
|
22
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
|
23
|
-
/******/ for(var key in definition) {
|
|
24
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
25
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
26
|
-
/******/ }
|
|
27
|
-
/******/ }
|
|
28
|
-
/******/ };
|
|
29
|
-
/******/ })();
|
|
30
|
-
/******/
|
|
31
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
32
|
-
/******/ (() => {
|
|
33
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
34
|
-
/******/ })();
|
|
35
|
-
/******/
|
|
36
|
-
/******/ /* webpack/runtime/make namespace object */
|
|
37
|
-
/******/ (() => {
|
|
38
|
-
/******/ // define __esModule on exports
|
|
39
|
-
/******/ __webpack_require__.r = (exports) => {
|
|
40
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
41
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
42
|
-
/******/ }
|
|
43
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
44
|
-
/******/ };
|
|
45
|
-
/******/ })();
|
|
46
|
-
/******/
|
|
47
|
-
/************************************************************************/
|
|
48
|
-
var __webpack_exports__ = {};
|
|
49
|
-
// ESM COMPAT FLAG
|
|
50
|
-
__webpack_require__.r(__webpack_exports__);
|
|
51
|
-
|
|
52
|
-
// EXPORTS
|
|
53
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
54
|
-
"JSONSpout": () => (/* reexport */ JSONSpout),
|
|
55
|
-
"appSpout": () => (/* reexport */ app),
|
|
56
|
-
"documentSpout": () => (/* reexport */ documentSpout),
|
|
57
|
-
"floodSpouts": () => (/* reexport */ floodSpouts),
|
|
58
|
-
"restHooksSpout": () => (/* reexport */ restHooksSpout),
|
|
59
|
-
"routerSpout": () => (/* reexport */ routerSpout)
|
|
60
|
-
});
|
|
2
|
+
/******/ var __webpack_modules__ = ({
|
|
3
|
+
|
|
4
|
+
/***/ "./src/floodSpouts.tsx":
|
|
5
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
61
8
|
|
|
62
|
-
;// CONCATENATED MODULE: external "react-dom/client"
|
|
63
|
-
const client_namespaceObject = require("react-dom/client");
|
|
64
|
-
;// CONCATENATED MODULE: ./src/floodSpouts.tsx
|
|
65
9
|
|
|
10
|
+
exports.__esModule = true;
|
|
11
|
+
exports["default"] = floodSpouts;
|
|
12
|
+
var _client = __webpack_require__("react-dom/client");
|
|
66
13
|
async function floodSpouts(spouts, {
|
|
67
14
|
rootId = 'anansi-root'
|
|
68
15
|
} = {}) {
|
|
@@ -70,26 +17,104 @@ async function floodSpouts(spouts, {
|
|
|
70
17
|
const {
|
|
71
18
|
app
|
|
72
19
|
} = await spouts({});
|
|
73
|
-
(0,
|
|
20
|
+
(0, _client.hydrateRoot)((_document$getElementB = document.getElementById(rootId)) != null ? _document$getElementB : document, app);
|
|
74
21
|
}
|
|
75
|
-
|
|
22
|
+
|
|
23
|
+
/***/ }),
|
|
24
|
+
|
|
25
|
+
/***/ "./src/spouts/app.tsx":
|
|
26
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
27
|
+
|
|
28
|
+
"use strict";
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
exports.__esModule = true;
|
|
32
|
+
exports["default"] = void 0;
|
|
33
|
+
const appSpout = app => props => Promise.resolve({
|
|
34
|
+
...props,
|
|
35
|
+
app
|
|
36
|
+
});
|
|
37
|
+
var _default = appSpout;
|
|
38
|
+
exports["default"] = _default;
|
|
39
|
+
|
|
40
|
+
/***/ }),
|
|
41
|
+
|
|
42
|
+
/***/ "./src/spouts/document.tsx":
|
|
43
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
44
|
+
|
|
45
|
+
"use strict";
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
exports.__esModule = true;
|
|
49
|
+
exports["default"] = documentSpout;
|
|
76
50
|
function documentSpout(options) {
|
|
77
51
|
return next => async props => {
|
|
78
52
|
const nextProps = await next(props);
|
|
79
53
|
return nextProps;
|
|
80
54
|
};
|
|
81
55
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
56
|
+
|
|
57
|
+
/***/ }),
|
|
58
|
+
|
|
59
|
+
/***/ "./src/spouts/json.tsx":
|
|
60
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
61
|
+
|
|
62
|
+
"use strict";
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
exports.__esModule = true;
|
|
66
|
+
exports["default"] = JSONSpout;
|
|
67
|
+
__webpack_require__("core-js/modules/es.error.cause.js");
|
|
68
|
+
function JSONSpout({
|
|
69
|
+
id = 'anansi-json'
|
|
70
|
+
} = {}) {
|
|
71
|
+
return next => async props => {
|
|
72
|
+
const getInitialData = key => {
|
|
73
|
+
const globalId = `${id}.${key}`;
|
|
74
|
+
return new Promise((resolve, reject) => {
|
|
75
|
+
let el;
|
|
76
|
+
if (el = document.getElementById(globalId)) {
|
|
77
|
+
resolve(getDataFromEl(el, globalId));
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
81
|
+
el = document.getElementById(globalId);
|
|
82
|
+
if (el) resolve(getDataFromEl(el, globalId));else reject(new Error(`failed to find DOM with ${key} state`));
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
return {
|
|
87
|
+
...(await next({
|
|
88
|
+
...props,
|
|
89
|
+
getInitialData
|
|
90
|
+
})),
|
|
91
|
+
getInitialData
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function getDataFromEl(el, key) {
|
|
96
|
+
if (el.text === undefined) {
|
|
97
|
+
console.error(`#${key} is completely empty. This could be due to CSP issues.`);
|
|
98
|
+
}
|
|
99
|
+
return el != null && el.text ? JSON.parse(el == null ? void 0 : el.text) : undefined;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/***/ }),
|
|
103
|
+
|
|
104
|
+
/***/ "./src/spouts/restHooks.tsx":
|
|
105
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
106
|
+
|
|
107
|
+
"use strict";
|
|
89
108
|
|
|
90
109
|
|
|
110
|
+
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js")["default"]);
|
|
111
|
+
exports.__esModule = true;
|
|
112
|
+
exports["default"] = restHooksSpout;
|
|
113
|
+
var _react = _interopRequireDefault(__webpack_require__("react"));
|
|
114
|
+
var _react2 = __webpack_require__("@rest-hooks/react");
|
|
115
|
+
var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.tsx";
|
|
91
116
|
function restHooksSpout(options = {
|
|
92
|
-
getManagers: () => [new
|
|
117
|
+
getManagers: () => [new _react2.NetworkManager()]
|
|
93
118
|
}) {
|
|
94
119
|
return next => async props => {
|
|
95
120
|
const nextProps = await next(props);
|
|
@@ -99,7 +124,7 @@ function restHooksSpout(options = {
|
|
|
99
124
|
}
|
|
100
125
|
return {
|
|
101
126
|
...nextProps,
|
|
102
|
-
app: /*#__PURE__*/
|
|
127
|
+
app: /*#__PURE__*/_react.default.createElement(_react2.CacheProvider, {
|
|
103
128
|
initialState: data,
|
|
104
129
|
managers: options.getManagers(),
|
|
105
130
|
__self: this,
|
|
@@ -112,34 +137,41 @@ function restHooksSpout(options = {
|
|
|
112
137
|
};
|
|
113
138
|
};
|
|
114
139
|
}
|
|
115
|
-
;// CONCATENATED MODULE: external "@anansi/router"
|
|
116
|
-
const router_namespaceObject = require("@anansi/router");
|
|
117
|
-
;// CONCATENATED MODULE: external "history"
|
|
118
|
-
const external_history_namespaceObject = require("history");
|
|
119
|
-
;// CONCATENATED MODULE: ./src/spouts/router.tsx
|
|
120
|
-
var router_jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx";
|
|
121
140
|
|
|
141
|
+
/***/ }),
|
|
142
|
+
|
|
143
|
+
/***/ "./src/spouts/router.tsx":
|
|
144
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
145
|
+
|
|
146
|
+
"use strict";
|
|
122
147
|
|
|
123
148
|
|
|
149
|
+
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js")["default"]);
|
|
150
|
+
exports.__esModule = true;
|
|
151
|
+
exports["default"] = routerSpout;
|
|
152
|
+
var _router = __webpack_require__("@anansi/router");
|
|
153
|
+
var _react = _interopRequireDefault(__webpack_require__("react"));
|
|
154
|
+
var _history = __webpack_require__("history");
|
|
155
|
+
var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx";
|
|
124
156
|
function routerSpout(options) {
|
|
125
157
|
const createRouteComponent = router => function Router({
|
|
126
158
|
children
|
|
127
159
|
}) {
|
|
128
160
|
const resolveWith = options.useResolveWith();
|
|
129
|
-
return /*#__PURE__*/
|
|
161
|
+
return /*#__PURE__*/_react.default.createElement(_router.RouteProvider, {
|
|
130
162
|
router: router,
|
|
131
163
|
resolveWith: resolveWith,
|
|
132
164
|
onChange: options.onChange,
|
|
133
165
|
__self: this,
|
|
134
166
|
__source: {
|
|
135
|
-
fileName:
|
|
167
|
+
fileName: _jsxFileName,
|
|
136
168
|
lineNumber: 28,
|
|
137
169
|
columnNumber: 9
|
|
138
170
|
}
|
|
139
171
|
}, children);
|
|
140
172
|
};
|
|
141
173
|
return next => async props => {
|
|
142
|
-
const history = (0,
|
|
174
|
+
const history = (0, _history.createBrowserHistory)();
|
|
143
175
|
const router = options.createRouter(history);
|
|
144
176
|
const matchedRoutes = router.getMatchedRoutes(history.location.pathname);
|
|
145
177
|
const nextProps = await next({
|
|
@@ -152,10 +184,10 @@ function routerSpout(options) {
|
|
|
152
184
|
...nextProps,
|
|
153
185
|
matchedRoutes,
|
|
154
186
|
router,
|
|
155
|
-
app: /*#__PURE__*/
|
|
187
|
+
app: /*#__PURE__*/_react.default.createElement(Router, {
|
|
156
188
|
__self: this,
|
|
157
189
|
__source: {
|
|
158
|
-
fileName:
|
|
190
|
+
fileName: _jsxFileName,
|
|
159
191
|
lineNumber: 50,
|
|
160
192
|
columnNumber: 12
|
|
161
193
|
}
|
|
@@ -163,52 +195,119 @@ function routerSpout(options) {
|
|
|
163
195
|
};
|
|
164
196
|
};
|
|
165
197
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
198
|
+
|
|
199
|
+
/***/ }),
|
|
200
|
+
|
|
201
|
+
/***/ "@anansi/router":
|
|
202
|
+
/***/ ((module) => {
|
|
203
|
+
|
|
204
|
+
"use strict";
|
|
205
|
+
module.exports = require("@anansi/router");
|
|
206
|
+
|
|
207
|
+
/***/ }),
|
|
208
|
+
|
|
209
|
+
/***/ "@rest-hooks/react":
|
|
210
|
+
/***/ ((module) => {
|
|
211
|
+
|
|
212
|
+
"use strict";
|
|
213
|
+
module.exports = require("@rest-hooks/react");
|
|
214
|
+
|
|
215
|
+
/***/ }),
|
|
216
|
+
|
|
217
|
+
/***/ "core-js/modules/es.error.cause.js":
|
|
218
|
+
/***/ ((module) => {
|
|
219
|
+
|
|
220
|
+
"use strict";
|
|
221
|
+
module.exports = require("core-js/modules/es.error.cause.js");
|
|
222
|
+
|
|
223
|
+
/***/ }),
|
|
224
|
+
|
|
225
|
+
/***/ "history":
|
|
226
|
+
/***/ ((module) => {
|
|
227
|
+
|
|
228
|
+
"use strict";
|
|
229
|
+
module.exports = require("history");
|
|
230
|
+
|
|
231
|
+
/***/ }),
|
|
232
|
+
|
|
233
|
+
/***/ "react":
|
|
234
|
+
/***/ ((module) => {
|
|
235
|
+
|
|
236
|
+
"use strict";
|
|
237
|
+
module.exports = require("react");
|
|
238
|
+
|
|
239
|
+
/***/ }),
|
|
240
|
+
|
|
241
|
+
/***/ "react-dom/client":
|
|
242
|
+
/***/ ((module) => {
|
|
243
|
+
|
|
244
|
+
"use strict";
|
|
245
|
+
module.exports = require("react-dom/client");
|
|
246
|
+
|
|
247
|
+
/***/ }),
|
|
248
|
+
|
|
249
|
+
/***/ "../../node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js":
|
|
250
|
+
/***/ ((module) => {
|
|
251
|
+
|
|
252
|
+
function _interopRequireDefault(obj) {
|
|
253
|
+
return obj && obj.__esModule ? obj : {
|
|
254
|
+
"default": obj
|
|
192
255
|
};
|
|
193
256
|
}
|
|
194
|
-
|
|
195
|
-
if (el.text === undefined) {
|
|
196
|
-
console.error(`#${key} is completely empty. This could be due to CSP issues.`);
|
|
197
|
-
}
|
|
198
|
-
return el != null && el.text ? JSON.parse(el == null ? void 0 : el.text) : undefined;
|
|
199
|
-
}
|
|
200
|
-
;// CONCATENATED MODULE: ./src/spouts/app.tsx
|
|
201
|
-
const appSpout = app => props => Promise.resolve({
|
|
202
|
-
...props,
|
|
203
|
-
app
|
|
204
|
-
});
|
|
205
|
-
/* harmony default export */ const app = (appSpout);
|
|
206
|
-
;// CONCATENATED MODULE: ./src/index.ts
|
|
207
|
-
|
|
257
|
+
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
208
258
|
|
|
259
|
+
/***/ })
|
|
209
260
|
|
|
261
|
+
/******/ });
|
|
262
|
+
/************************************************************************/
|
|
263
|
+
/******/ // The module cache
|
|
264
|
+
/******/ var __webpack_module_cache__ = {};
|
|
265
|
+
/******/
|
|
266
|
+
/******/ // The require function
|
|
267
|
+
/******/ function __webpack_require__(moduleId) {
|
|
268
|
+
/******/ // Check if module is in cache
|
|
269
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
270
|
+
/******/ if (cachedModule !== undefined) {
|
|
271
|
+
/******/ return cachedModule.exports;
|
|
272
|
+
/******/ }
|
|
273
|
+
/******/ // Create a new module (and put it into the cache)
|
|
274
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
275
|
+
/******/ // no module.id needed
|
|
276
|
+
/******/ // no module.loaded needed
|
|
277
|
+
/******/ exports: {}
|
|
278
|
+
/******/ };
|
|
279
|
+
/******/
|
|
280
|
+
/******/ // Execute the module function
|
|
281
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
282
|
+
/******/
|
|
283
|
+
/******/ // Return the exports of the module
|
|
284
|
+
/******/ return module.exports;
|
|
285
|
+
/******/ }
|
|
286
|
+
/******/
|
|
287
|
+
/************************************************************************/
|
|
288
|
+
var __webpack_exports__ = {};
|
|
289
|
+
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
|
290
|
+
(() => {
|
|
291
|
+
"use strict";
|
|
292
|
+
var exports = __webpack_exports__;
|
|
210
293
|
|
|
211
294
|
|
|
295
|
+
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js")["default"]);
|
|
296
|
+
exports.__esModule = true;
|
|
297
|
+
exports.routerSpout = exports.restHooksSpout = exports.floodSpouts = exports.documentSpout = exports.appSpout = exports.JSONSpout = void 0;
|
|
298
|
+
var _floodSpouts = _interopRequireDefault(__webpack_require__("./src/floodSpouts.tsx"));
|
|
299
|
+
exports.floodSpouts = _floodSpouts.default;
|
|
300
|
+
var _document = _interopRequireDefault(__webpack_require__("./src/spouts/document.tsx"));
|
|
301
|
+
exports.documentSpout = _document.default;
|
|
302
|
+
var _restHooks = _interopRequireDefault(__webpack_require__("./src/spouts/restHooks.tsx"));
|
|
303
|
+
exports.restHooksSpout = _restHooks.default;
|
|
304
|
+
var _router = _interopRequireDefault(__webpack_require__("./src/spouts/router.tsx"));
|
|
305
|
+
exports.routerSpout = _router.default;
|
|
306
|
+
var _json = _interopRequireDefault(__webpack_require__("./src/spouts/json.tsx"));
|
|
307
|
+
exports.JSONSpout = _json.default;
|
|
308
|
+
var _app = _interopRequireDefault(__webpack_require__("./src/spouts/app.tsx"));
|
|
309
|
+
exports.appSpout = _app.default;
|
|
310
|
+
})();
|
|
212
311
|
|
|
213
312
|
module.exports = __webpack_exports__;
|
|
214
313
|
/******/ })()
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","mappings":";;;;;;;;;;;AAAA;AAEA;AAIA;AAAA;AACA;AACA;AAAA;AAAA;AAEA;AACA;;;;;;;;;;;;ACXA;AAGA;AAAA;AAAA;AAAA;AAEA;;;;;;;;;;;;ACAA;AAIA;AACA;AAEA;AACA;AACA;;;;;;;;;;;;;ACZA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAGA;AACA;AACA;;;;;;;;;;;;;;ACnCA;AAAA;AAIA;AAGA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AACA;AACA;;;;;;;;;;;;;AC1BA;AACA;AACA;AAAA;AAKA;AAaA;AAGA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;;;;;;;ACpDA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA","sources":["/home/ntucker/src/anansi/packages/core/src/floodSpouts.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/app.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/document.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/json.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx","/home/ntucker/src/anansi/packages/core/external commonjs \"@anansi/router\"","/home/ntucker/src/anansi/packages/core/external commonjs \"@rest-hooks/react\"","/home/ntucker/src/anansi/packages/core/external commonjs \"core-js/modules/es.error.cause.js\"","/home/ntucker/src/anansi/packages/core/external commonjs \"history\"","/home/ntucker/src/anansi/packages/core/external commonjs \"react\"","/home/ntucker/src/anansi/packages/core/external commonjs \"react-dom/client\"","/home/ntucker/src/anansi/node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js","/home/ntucker/src/anansi/packages/core/webpack/bootstrap","/home/ntucker/src/anansi/packages/core/src/index.ts"],"sourcesContent":["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","const appSpout =\n (app: JSX.Element) =>\n <P extends Record<string, unknown>>(props: P) =>\n Promise.resolve({ ...props, app });\n\nexport default appSpout;\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","import type { ClientSpout } from './types';\n\nexport default function JSONSpout({\n id = 'anansi-json',\n}: { id?: string } = {}): ClientSpout<\n Record<string, unknown>,\n { getInitialData: (key: string) => Promise<any> }\n> {\n return next => async props => {\n const getInitialData = (key: string) => {\n const globalId = `${id}.${key}`;\n return new Promise<any>((resolve, reject) => {\n let el: HTMLScriptElement | null;\n if ((el = document.getElementById(globalId) as any)) {\n resolve(getDataFromEl(el, globalId));\n return;\n }\n document.addEventListener('DOMContentLoaded', () => {\n el = document.getElementById(globalId) as any;\n if (el) resolve(getDataFromEl(el, globalId));\n else reject(new Error(`failed to find DOM with ${key} state`));\n });\n });\n };\n return { ...(await next({ ...props, getInitialData })), getInitialData };\n };\n}\n\nfunction getDataFromEl(el: HTMLScriptElement, key: string) {\n if (el.text === undefined) {\n console.error(\n `#${key} is completely empty. This could be due to CSP issues.`,\n );\n }\n return el?.text ? JSON.parse(el?.text) : undefined;\n}\n","import { CacheProvider, Manager, NetworkManager } from '@rest-hooks/react';\n\nimport type { ClientSpout } from './types';\n\nexport default function restHooksSpout(\n options: {\n getManagers: () => Manager[];\n } = { getManagers: () => [new NetworkManager()] },\n): ClientSpout<{ getInitialData: (key: string) => Promise<any> }> {\n return next => async props => {\n const nextProps = await next(props);\n const data = await props.getInitialData('resthooks');\n\n if (process.env.NODE_ENV !== 'production' && !data) {\n console.error('Rest Hooks init data not found');\n }\n\n return {\n ...nextProps,\n app: (\n <CacheProvider initialState={data} managers={options.getManagers()}>\n {nextProps.app}\n </CacheProvider>\n ),\n };\n };\n}\n","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","module.exports = require(\"@anansi/router\");","module.exports = require(\"@rest-hooks/react\");","module.exports = require(\"core-js/modules/es.error.cause.js\");","module.exports = require(\"history\");","module.exports = require(\"react\");","module.exports = require(\"react-dom/client\");","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\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":""}
|