@anansi/core 0.10.0 → 0.11.0
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 +14 -0
- package/dist/client.js +29 -21
- package/dist/client.js.map +1 -1
- package/dist/server.js +205 -30
- package/dist/server.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -2
- package/lib/index.server.d.ts +1 -0
- package/lib/index.server.d.ts.map +1 -1
- package/lib/index.server.js +6 -2
- package/lib/laySpouts.d.ts.map +1 -1
- package/lib/laySpouts.js +11 -2
- package/lib/scripts/startDevserver.d.ts.map +1 -1
- package/lib/scripts/startDevserver.js +5 -8
- package/lib/spouts/DocumentComponent.d.ts +6 -1
- package/lib/spouts/DocumentComponent.d.ts.map +1 -1
- package/lib/spouts/DocumentComponent.js +32 -9
- package/lib/spouts/csp.d.ts +5 -0
- package/lib/spouts/csp.d.ts.map +1 -0
- package/lib/spouts/csp.js +20 -0
- package/lib/spouts/document.d.ts +1 -1
- package/lib/spouts/document.d.ts.map +1 -1
- package/lib/spouts/document.js +3 -3
- package/lib/spouts/document.server.d.ts +3 -0
- package/lib/spouts/document.server.d.ts.map +1 -1
- package/lib/spouts/document.server.js +5 -2
- package/lib/spouts/json.d.ts +5 -0
- package/lib/spouts/json.d.ts.map +1 -0
- package/lib/spouts/json.js +22 -0
- package/lib/spouts/json.server.d.ts +13 -0
- package/lib/spouts/json.server.d.ts.map +1 -0
- package/lib/spouts/json.server.js +74 -0
- package/lib/spouts/restHooks.d.ts +1 -1
- package/lib/spouts/restHooks.d.ts.map +1 -1
- package/lib/spouts/restHooks.js +5 -9
- package/lib/spouts/restHooks.server.d.ts +41 -1
- package/lib/spouts/restHooks.server.d.ts.map +1 -1
- package/lib/spouts/restHooks.server.js +6 -3
- package/lib/spouts/rhHelp.d.ts +40 -0
- package/lib/spouts/rhHelp.d.ts.map +1 -0
- package/lib/spouts/rhHelp.js +47 -0
- package/lib/spouts/router.d.ts +1 -1
- package/lib/spouts/router.d.ts.map +1 -1
- package/lib/spouts/router.js +3 -3
- package/lib/spouts/types.d.ts +1 -0
- package/lib/spouts/types.d.ts.map +1 -1
- package/lib/spouts/types.js +1 -1
- package/package.json +2 -2
- package/src/index.server.ts +1 -0
- package/src/index.ts +1 -0
- package/src/laySpouts.tsx +5 -1
- package/src/scripts/startDevserver.ts +4 -6
- package/src/spouts/DocumentComponent.tsx +29 -6
- package/src/spouts/csp.ts +25 -0
- package/src/spouts/document.server.tsx +6 -0
- package/src/spouts/document.tsx +5 -3
- package/src/spouts/json.server.tsx +77 -0
- package/src/spouts/json.tsx +25 -0
- package/src/spouts/restHooks.server.tsx +7 -3
- package/src/spouts/restHooks.tsx +12 -7
- package/src/spouts/rhHelp.tsx +37 -0
- package/src/spouts/router.tsx +5 -3
- package/src/spouts/types.ts +1 -0
|
@@ -51,7 +51,10 @@ function DocumentSpout(options) {
|
|
|
51
51
|
app: /*#__PURE__*/_react.default.createElement(_DocumentComponent.default, { ...options,
|
|
52
52
|
title: (_nextProps$title = nextProps.title) != null ? _nextProps$title : options.title,
|
|
53
53
|
assets: assets,
|
|
54
|
-
rootId: options.rootId
|
|
54
|
+
rootId: options.rootId,
|
|
55
|
+
nonce: props.nonce,
|
|
56
|
+
csPolicy: options.csPolicy,
|
|
57
|
+
scripts: nextProps.scripts
|
|
55
58
|
}, nextProps.app)
|
|
56
59
|
};
|
|
57
60
|
};
|
|
@@ -65,4 +68,4 @@ function childrenAssets(chunk) {
|
|
|
65
68
|
return (_c$assets = c.assets) != null ? _c$assets : [];
|
|
66
69
|
})) : [];
|
|
67
70
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudFNwb3V0Iiwib3B0aW9ucyIsIm5leHQiLCJwcm9wcyIsIm5leHRQcm9wcyIsInB1YmxpY1BhdGgiLCJjbGllbnRNYW5pZmVzdCIsIk9iamVjdCIsImtleXMiLCJlbnRyeXBvaW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXNzZXRNYXAiLCJhc3NldHMiLCJtYXAiLCJuYW1lIiwiYXNzZXRMaXN0IiwidmFsdWVzIiwiZm9yRWFjaCIsImVudHJ5cG9pbnQiLCJwdXNoIiwiU2V0IiwibmFtZWRDaHVua0dyb3VwcyIsImZpbHRlciIsIm1hdGNoZWRSb3V0ZXMiLCJzb21lIiwicm91dGUiLCJpbmNsdWRlcyIsImZsYXRNYXAiLCJjaHVuayIsImNoaWxkcmVuQXNzZXRzIiwiYXNzZXQiLCJlbmRzV2l0aCIsImhyZWYiLCJyZWwiLCJhcyIsImFwcCIsInRpdGxlIiwicm9vdElkIiwibm9uY2UiLCJjc1BvbGljeSIsInNjcmlwdHMiLCJjaGlsZHJlbiIsInByZWxvYWQiLCJjIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9kb2N1bWVudC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgU3RhdHNDaHVua0dyb3VwIH0gZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyUHJvcHMsIFJlc29sdmVQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBQb2xpY3kgfSBmcm9tICcuL2NzcCc7XG5pbXBvcnQgRG9jdW1lbnQgZnJvbSAnLi9Eb2N1bWVudENvbXBvbmVudCc7XG5cbnR5cGUgTmVlZGVkUHJvcHMgPSB7XG4gIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPGFueT5bXTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn0gJiBSZXNvbHZlUHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERvY3VtZW50U3BvdXQob3B0aW9uczoge1xuICBoZWFkPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGNzUG9saWN5PzogUG9saWN5O1xufSkge1xuICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBOZWVkZWRQcm9wcz4oXG4gICAgbmV4dDogKHByb3BzOiBTZXJ2ZXJQcm9wcykgPT4gUHJvbWlzZTxUPixcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIChwcm9wczogU2VydmVyUHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgICBjb25zdCBwdWJsaWNQYXRoID0gcHJvcHMuY2xpZW50TWFuaWZlc3QucHVibGljUGF0aDtcblxuICAgICAgaWYgKFxuICAgICAgICBPYmplY3Qua2V5cyhwcm9wcy5jbGllbnRNYW5pZmVzdD8uZW50cnlwb2ludHMgPz8ge30pLmxlbmd0aCA8IDEgfHxcbiAgICAgICAgcHVibGljUGF0aCA9PT0gdW5kZWZpbmVkXG4gICAgICApXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWFuaWZlc3QgbWlzc2luZyBlbnRyaWVzIG5lZWRlZCcpO1xuXG4gICAgICAvLyBUT0RPOiBjb25zaWRlciB1c2luZyB0aGlzIHBhY2thZ2UgZm9yIGJ1aWxkIHN0YXRzIGluIGZ1dHVyZTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL21haW4vcGFja2FnZXMvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrXG4gICAgICBjb25zdCBhc3NldE1hcCA9IChhc3NldHM6IHsgbmFtZTogc3RyaW5nOyBzaXplPzogbnVtYmVyIH1bXSkgPT5cbiAgICAgICAgYXNzZXRzLm1hcCgoeyBuYW1lIH0pID0+IGAke3B1YmxpY1BhdGh9JHtuYW1lfWApO1xuXG4gICAgICBjb25zdCBhc3NldExpc3Q6IHN0cmluZ1tdID0gW107XG4gICAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkuZm9yRWFjaChcbiAgICAgICAgZW50cnlwb2ludCA9PiB7XG4gICAgICAgICAgYXNzZXRMaXN0LnB1c2goLi4uYXNzZXRNYXAoZW50cnlwb2ludC5hc3NldHMgPz8gW10pKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgICBuZXcgU2V0KFxuICAgICAgICBhc3NldE1hcChcbiAgICAgICAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Lm5hbWVkQ2h1bmtHcm91cHMgPz8ge30pXG4gICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT5cbiAgICAgICAgICAgICAgbmV4dFByb3BzLm1hdGNoZWRSb3V0ZXMuc29tZShyb3V0ZSA9PiBuYW1lPy5pbmNsdWRlcyhyb3V0ZS5uYW1lKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuZmxhdE1hcChjaHVuayA9PiBbXG4gICAgICAgICAgICAgIC4uLihjaHVuay5hc3NldHMgPz8gW10pLFxuICAgICAgICAgICAgICAvLyBhbnkgY2h1bmsgcHJlbG9hZHNcbiAgICAgICAgICAgICAgLi4uY2hpbGRyZW5Bc3NldHMoY2h1bmspLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICksXG4gICAgICApLmZvckVhY2goYXNzZXQgPT4gYXNzZXRMaXN0LnB1c2goYXNzZXQpKTtcblxuICAgICAgLy8gZmluZCBhZGRpdGlvbmFsIGFzc2V0cyB0byBwcmVsb2FkIGJhc2VkIG9uIG1hdGNoZWQgcm91dGVcbiAgICAgIGNvbnN0IGFzc2V0czoge1xuICAgICAgICBocmVmOiBzdHJpbmc7XG4gICAgICAgIGFzPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICByZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICB9W10gPSBhc3NldExpc3RcbiAgICAgICAgLmZpbHRlcihhc3NldCA9PiAhYXNzZXQuZW5kc1dpdGgoJy5ob3QtdXBkYXRlLmpzJykpXG4gICAgICAgIC5tYXAoYXNzZXQgPT5cbiAgICAgICAgICBhc3NldC5lbmRzV2l0aCgnLmNzcycpXG4gICAgICAgICAgICA/IHsgaHJlZjogYXNzZXQsIHJlbDogJ3N0eWxlc2hlZXQnIH1cbiAgICAgICAgICAgIDogYXNzZXQuZW5kc1dpdGgoJy5qcycpXG4gICAgICAgICAgICA/IHsgaHJlZjogYXNzZXQsIGFzOiAnc2NyaXB0JyB9XG4gICAgICAgICAgICA6IHsgaHJlZjogYXNzZXQgfSxcbiAgICAgICAgKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgICBhcHA6IChcbiAgICAgICAgICA8RG9jdW1lbnRcbiAgICAgICAgICAgIHsuLi5vcHRpb25zfVxuICAgICAgICAgICAgdGl0bGU9e25leHRQcm9wcy50aXRsZSA/PyBvcHRpb25zLnRpdGxlfVxuICAgICAgICAgICAgYXNzZXRzPXthc3NldHN9XG4gICAgICAgICAgICByb290SWQ9e29wdGlvbnMucm9vdElkfVxuICAgICAgICAgICAgbm9uY2U9e3Byb3BzLm5vbmNlfVxuICAgICAgICAgICAgY3NQb2xpY3k9e29wdGlvbnMuY3NQb2xpY3l9XG4gICAgICAgICAgICBzY3JpcHRzPXtuZXh0UHJvcHMuc2NyaXB0c31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgICA8L0RvY3VtZW50PlxuICAgICAgICApLFxuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBjaGlsZHJlbkFzc2V0cyhjaHVuazogU3RhdHNDaHVua0dyb3VwKSB7XG4gIHJldHVybiBjaHVuay5jaGlsZHJlblxuICAgID8gT2JqZWN0LnZhbHVlcyhjaHVuay5jaGlsZHJlbikuZmxhdE1hcChwcmVsb2FkID0+XG4gICAgICAgIHByZWxvYWQuZmxhdE1hcChjID0+IGMuYXNzZXRzID8/IFtdKSxcbiAgICAgIClcbiAgICA6IFtdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBTUE7O0FBUWUsU0FBU0EsYUFBVCxDQUF1QkMsT0FBdkIsRUFNWjtFQUNELE9BQU8sVUFDTEMsSUFESyxFQUVMO0lBQ0EsT0FBTyxNQUFPQyxLQUFQLElBQThCO01BQUE7O01BQ25DLE1BQU1DLFNBQVMsR0FBRyxNQUFNRixJQUFJLENBQUNDLEtBQUQsQ0FBNUI7TUFFQSxNQUFNRSxVQUFVLEdBQUdGLEtBQUssQ0FBQ0csY0FBTixDQUFxQkQsVUFBeEM7TUFFQSxJQUNFRSxNQUFNLENBQUNDLElBQVAsb0RBQVlMLEtBQUssQ0FBQ0csY0FBbEIsMkRBQVksdUJBQXNCRyxXQUFsQyxvQ0FBaUQsRUFBakQsRUFBcURDLE1BQXJELEdBQThELENBQTlELElBQ0FMLFVBQVUsS0FBS00sU0FGakIsRUFJRSxNQUFNLElBQUlDLEtBQUosQ0FBVSxpQ0FBVixDQUFOLENBVGlDLENBV25DO01BQ0E7O01BQ0EsTUFBTUMsUUFBUSxHQUFJQyxNQUFELElBQ2ZBLE1BQU0sQ0FBQ0MsR0FBUCxDQUFXLENBQUM7UUFBRUM7TUFBRixDQUFELEtBQWUsR0FBRVgsVUFBVyxHQUFFVyxJQUFLLEVBQTlDLENBREY7O01BR0EsTUFBTUMsU0FBbUIsR0FBRyxFQUE1QjtNQUNBVixNQUFNLENBQUNXLE1BQVAscURBQWNmLEtBQUssQ0FBQ0csY0FBcEIsMkRBQWMsdUJBQXNCRyxXQUFwQyxxQ0FBbUQsRUFBbkQsRUFBdURVLE9BQXZELENBQ0VDLFVBQVUsSUFBSTtRQUFBOztRQUNaSCxTQUFTLENBQUNJLElBQVYsQ0FBZSxHQUFHUixRQUFRLHVCQUFDTyxVQUFVLENBQUNOLE1BQVosaUNBQXNCLEVBQXRCLENBQTFCO01BQ0QsQ0FISDtNQUtBLElBQUlRLEdBQUosQ0FDRVQsUUFBUSxDQUNOTixNQUFNLENBQUNXLE1BQVAsMkJBQWNmLEtBQUssQ0FBQ0csY0FBTixDQUFxQmlCLGdCQUFuQyxxQ0FBdUQsRUFBdkQsRUFDR0MsTUFESCxDQUNVLENBQUM7UUFBRVI7TUFBRixDQUFELEtBQ05aLFNBQVMsQ0FBQ3FCLGFBQVYsQ0FBd0JDLElBQXhCLENBQTZCQyxLQUFLLElBQUlYLElBQUosYUFBSUEsSUFBSix1QkFBSUEsSUFBSSxDQUFFWSxRQUFOLENBQWVELEtBQUssQ0FBQ1gsSUFBckIsQ0FBdEMsQ0FGSixFQUlHYSxPQUpILENBSVdDLEtBQUs7UUFBQTs7UUFBQSxPQUFJLENBQ2hCLHFCQUFJQSxLQUFLLENBQUNoQixNQUFWLDRCQUFvQixFQUFwQixDQURnQixFQUVoQjtRQUNBLEdBQUdpQixjQUFjLENBQUNELEtBQUQsQ0FIRCxDQUFKO01BQUEsQ0FKaEIsQ0FETSxDQURWLEVBWUVYLE9BWkYsQ0FZVWEsS0FBSyxJQUFJZixTQUFTLENBQUNJLElBQVYsQ0FBZVcsS0FBZixDQVpuQixFQXRCbUMsQ0FvQ25DOztNQUNBLE1BQU1sQixNQUlILEdBQUdHLFNBQVMsQ0FDWk8sTUFERyxDQUNJUSxLQUFLLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxRQUFOLENBQWUsZ0JBQWYsQ0FEZCxFQUVIbEIsR0FGRyxDQUVDaUIsS0FBSyxJQUNSQSxLQUFLLENBQUNDLFFBQU4sQ0FBZSxNQUFmLElBQ0k7UUFBRUMsSUFBSSxFQUFFRixLQUFSO1FBQWVHLEdBQUcsRUFBRTtNQUFwQixDQURKLEdBRUlILEtBQUssQ0FBQ0MsUUFBTixDQUFlLEtBQWYsSUFDQTtRQUFFQyxJQUFJLEVBQUVGLEtBQVI7UUFBZUksRUFBRSxFQUFFO01BQW5CLENBREEsR0FFQTtRQUFFRixJQUFJLEVBQUVGO01BQVIsQ0FQRixDQUpOO01BY0EsT0FBTyxFQUNMLEdBQUc1QixTQURFO1FBRUxpQyxHQUFHLGVBQ0QsNkJBQUMsMEJBQUQsT0FDTXBDLE9BRE47VUFFRSxLQUFLLHNCQUFFRyxTQUFTLENBQUNrQyxLQUFaLCtCQUFxQnJDLE9BQU8sQ0FBQ3FDLEtBRnBDO1VBR0UsTUFBTSxFQUFFeEIsTUFIVjtVQUlFLE1BQU0sRUFBRWIsT0FBTyxDQUFDc0MsTUFKbEI7VUFLRSxLQUFLLEVBQUVwQyxLQUFLLENBQUNxQyxLQUxmO1VBTUUsUUFBUSxFQUFFdkMsT0FBTyxDQUFDd0MsUUFOcEI7VUFPRSxPQUFPLEVBQUVyQyxTQUFTLENBQUNzQztRQVByQixHQVNHdEMsU0FBUyxDQUFDaUMsR0FUYjtNQUhHLENBQVA7SUFnQkQsQ0FuRUQ7RUFvRUQsQ0F2RUQ7QUF3RUQ7O0FBRUQsU0FBU04sY0FBVCxDQUF3QkQsS0FBeEIsRUFBZ0Q7RUFDOUMsT0FBT0EsS0FBSyxDQUFDYSxRQUFOLEdBQ0hwQyxNQUFNLENBQUNXLE1BQVAsQ0FBY1ksS0FBSyxDQUFDYSxRQUFwQixFQUE4QmQsT0FBOUIsQ0FBc0NlLE9BQU8sSUFDM0NBLE9BQU8sQ0FBQ2YsT0FBUixDQUFnQmdCLENBQUM7SUFBQTs7SUFBQSxvQkFBSUEsQ0FBQyxDQUFDL0IsTUFBTix3QkFBZ0IsRUFBaEI7RUFBQSxDQUFqQixDQURGLENBREcsR0FJSCxFQUpKO0FBS0QifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/spouts/json.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,EAAkB,GACnB,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,6CAEF,OAAO,MAAM,EAAE,OAAO,CAAC,qCAS3C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = JSONSpout;
|
|
5
|
+
|
|
6
|
+
function JSONSpout({
|
|
7
|
+
id = 'anansi-json'
|
|
8
|
+
} = {}) {
|
|
9
|
+
return function (next) {
|
|
10
|
+
return async () => {
|
|
11
|
+
const initData = getDatafromDOM(id);
|
|
12
|
+
const nextProps = await next(initData);
|
|
13
|
+
return nextProps;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function getDatafromDOM(id) {
|
|
19
|
+
const element = document.querySelector(`#${id}`);
|
|
20
|
+
return element !== null && element !== void 0 && element.innerHTML ? JSON.parse(element === null || element === void 0 ? void 0 : element.innerHTML) : undefined;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJKU09OU3BvdXQiLCJpZCIsIm5leHQiLCJpbml0RGF0YSIsImdldERhdGFmcm9tRE9NIiwibmV4dFByb3BzIiwiZWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImlubmVySFRNTCIsIkpTT04iLCJwYXJzZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcG91dHMvanNvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5cbmltcG9ydCB0eXBlIHsgUmVzb2x2ZVByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbnR5cGUgTmVlZGVkUHJvcHMgPSBSZXNvbHZlUHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEpTT05TcG91dCh7XG4gIGlkID0gJ2FuYW5zaS1qc29uJyxcbn06IHsgaWQ/OiBzdHJpbmcgfSA9IHt9KSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIE5lZWRlZFByb3BzPihcbiAgICBuZXh0OiAoaW5pdERhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBQcm9taXNlPFQ+LFxuICApIHtcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgaW5pdERhdGEgPSBnZXREYXRhZnJvbURPTShpZCk7XG4gICAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KGluaXREYXRhKTtcblxuICAgICAgcmV0dXJuIG5leHRQcm9wcztcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gZ2V0RGF0YWZyb21ET00oaWQ6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke2lkfWApO1xuICByZXR1cm4gZWxlbWVudD8uaW5uZXJIVE1MID8gSlNPTi5wYXJzZShlbGVtZW50Py5pbm5lckhUTUwpIDogdW5kZWZpbmVkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQU9lLFNBQVNBLFNBQVQsQ0FBbUI7RUFDaENDLEVBQUUsR0FBRztBQUQyQixJQUViLEVBRk4sRUFFVTtFQUN2QixPQUFPLFVBQ0xDLElBREssRUFFTDtJQUNBLE9BQU8sWUFBWTtNQUNqQixNQUFNQyxRQUFRLEdBQUdDLGNBQWMsQ0FBQ0gsRUFBRCxDQUEvQjtNQUNBLE1BQU1JLFNBQVMsR0FBRyxNQUFNSCxJQUFJLENBQUNDLFFBQUQsQ0FBNUI7TUFFQSxPQUFPRSxTQUFQO0lBQ0QsQ0FMRDtFQU1ELENBVEQ7QUFVRDs7QUFDRCxTQUFTRCxjQUFULENBQXdCSCxFQUF4QixFQUE2RDtFQUMzRCxNQUFNSyxPQUFPLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF3QixJQUFHUCxFQUFHLEVBQTlCLENBQWhCO0VBQ0EsT0FBT0ssT0FBTyxTQUFQLElBQUFBLE9BQU8sV0FBUCxJQUFBQSxPQUFPLENBQUVHLFNBQVQsR0FBcUJDLElBQUksQ0FBQ0MsS0FBTCxDQUFXTCxPQUFYLGFBQVdBLE9BQVgsdUJBQVdBLE9BQU8sQ0FBRUcsU0FBcEIsQ0FBckIsR0FBc0RHLFNBQTdEO0FBQ0QifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ServerProps, ResolveProps } from './types';
|
|
3
|
+
declare type NeededProps = {
|
|
4
|
+
initData?: Record<string, () => unknown>;
|
|
5
|
+
scripts?: React.ReactNode[];
|
|
6
|
+
} & ResolveProps;
|
|
7
|
+
export default function JSONSpout({ id, }?: {
|
|
8
|
+
id?: string;
|
|
9
|
+
}): <T extends NeededProps>(next: (props: ServerProps) => Promise<T>) => (props: ServerProps) => Promise<T & {
|
|
10
|
+
scripts: React.ReactNode[];
|
|
11
|
+
}>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=json.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.server.d.ts","sourceRoot":"","sources":["../../src/spouts/json.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIzD,aAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;CAC7B,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,EAAkB,GACnB,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,yCAEL,WAAW,4BAEJ,WAAW;;GAyDnC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = JSONSpout;
|
|
7
|
+
|
|
8
|
+
var _jsx2 = _interopRequireDefault(require("@babel/runtime/helpers/jsx"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
function JSONSpout({
|
|
13
|
+
id = 'anansi-json'
|
|
14
|
+
} = {}) {
|
|
15
|
+
return function (next) {
|
|
16
|
+
return async props => {
|
|
17
|
+
var _nextProps$scripts;
|
|
18
|
+
|
|
19
|
+
const nextProps = await next(props);
|
|
20
|
+
const scripts = (_nextProps$scripts = nextProps.scripts) != null ? _nextProps$scripts : [];
|
|
21
|
+
/*
|
|
22
|
+
Object.entries(nextProps.initData ?? {}).forEach(([key, data]) => {
|
|
23
|
+
try {
|
|
24
|
+
const encoded = JSON.stringify(data);
|
|
25
|
+
scripts.push(
|
|
26
|
+
<script
|
|
27
|
+
key={key}
|
|
28
|
+
id={`${id}-${key}`}
|
|
29
|
+
type="application/json"
|
|
30
|
+
dangerouslySetInnerHTML={{
|
|
31
|
+
__html: encoded,
|
|
32
|
+
}}
|
|
33
|
+
nonce={props.nonce}
|
|
34
|
+
/>,
|
|
35
|
+
);
|
|
36
|
+
} catch (e) {
|
|
37
|
+
// TODO: Use unified logging
|
|
38
|
+
console.error(e);
|
|
39
|
+
}
|
|
40
|
+
});*/
|
|
41
|
+
|
|
42
|
+
const Script = () => {
|
|
43
|
+
try {
|
|
44
|
+
var _nextProps$initData;
|
|
45
|
+
|
|
46
|
+
const data = {};
|
|
47
|
+
Object.entries((_nextProps$initData = nextProps.initData) != null ? _nextProps$initData : {}).forEach(([key, getData]) => {
|
|
48
|
+
data[key] = getData();
|
|
49
|
+
});
|
|
50
|
+
const encoded = JSON.stringify(data);
|
|
51
|
+
return /*#__PURE__*/(0, _jsx2.default)("script", {
|
|
52
|
+
id: id,
|
|
53
|
+
type: "application/json",
|
|
54
|
+
dangerouslySetInnerHTML: {
|
|
55
|
+
__html: encoded
|
|
56
|
+
},
|
|
57
|
+
nonce: props.nonce
|
|
58
|
+
}, id);
|
|
59
|
+
} catch (e) {
|
|
60
|
+
// TODO: Use unified logging
|
|
61
|
+
console.error('Error serializing json');
|
|
62
|
+
console.error(e);
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
scripts.push( /*#__PURE__*/(0, _jsx2.default)(Script, {}));
|
|
68
|
+
return { ...nextProps,
|
|
69
|
+
scripts
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJKU09OU3BvdXQiLCJpZCIsIm5leHQiLCJwcm9wcyIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJTY3JpcHQiLCJkYXRhIiwiT2JqZWN0IiwiZW50cmllcyIsImluaXREYXRhIiwiZm9yRWFjaCIsImtleSIsImdldERhdGEiLCJlbmNvZGVkIiwiSlNPTiIsInN0cmluZ2lmeSIsIl9faHRtbCIsIm5vbmNlIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsInB1c2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2pzb24uc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcbmltcG9ydCB7IFN0YXRzQ2h1bmtHcm91cCB9IGZyb20gJ3dlYnBhY2snO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclByb3BzLCBSZXNvbHZlUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgUG9saWN5IH0gZnJvbSAnLi9jc3AnO1xuaW1wb3J0IERvY3VtZW50IGZyb20gJy4vRG9jdW1lbnRDb21wb25lbnQnO1xuXG50eXBlIE5lZWRlZFByb3BzID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG59ICYgUmVzb2x2ZVByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKU09OU3BvdXQoe1xuICBpZCA9ICdhbmFuc2ktanNvbicsXG59OiB7IGlkPzogc3RyaW5nIH0gPSB7fSkge1xuICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBOZWVkZWRQcm9wcz4oXG4gICAgbmV4dDogKHByb3BzOiBTZXJ2ZXJQcm9wcykgPT4gUHJvbWlzZTxUPixcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIChwcm9wczogU2VydmVyUHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgICBjb25zdCBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IG5leHRQcm9wcy5zY3JpcHRzID8/IFtdO1xuICAgICAgLypcbiAgICAgIE9iamVjdC5lbnRyaWVzKG5leHRQcm9wcy5pbml0RGF0YSA/PyB7fSkuZm9yRWFjaCgoW2tleSwgZGF0YV0pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBlbmNvZGVkID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgICAgc2NyaXB0cy5wdXNoKFxuICAgICAgICAgICAgPHNjcmlwdFxuICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgaWQ9e2Ake2lkfS0ke2tleX1gfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gVE9ETzogVXNlIHVuaWZpZWQgbG9nZ2luZ1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0pOyovXG4gICAgICBjb25zdCBTY3JpcHQgPSAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZGF0YTogYW55ID0ge307XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMobmV4dFByb3BzLmluaXREYXRhID8/IHt9KS5mb3JFYWNoKChba2V5LCBnZXREYXRhXSkgPT4ge1xuICAgICAgICAgICAgZGF0YVtrZXldID0gZ2V0RGF0YSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGVuY29kZWQgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPHNjcmlwdFxuICAgICAgICAgICAgICBrZXk9e2lkfVxuICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgIHR5cGU9XCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGVuY29kZWQsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG5vbmNlPXtwcm9wcy5ub25jZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIFRPRE86IFVzZSB1bmlmaWVkIGxvZ2dpbmdcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXJpYWxpemluZyBqc29uJyk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaCg8U2NyaXB0IC8+KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgICBzY3JpcHRzLFxuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFhZSxTQUFTQSxTQUFULENBQW1CO0VBQ2hDQyxFQUFFLEdBQUc7QUFEMkIsSUFFYixFQUZOLEVBRVU7RUFDdkIsT0FBTyxVQUNMQyxJQURLLEVBRUw7SUFDQSxPQUFPLE1BQU9DLEtBQVAsSUFBOEI7TUFBQTs7TUFDbkMsTUFBTUMsU0FBUyxHQUFHLE1BQU1GLElBQUksQ0FBQ0MsS0FBRCxDQUE1QjtNQUVBLE1BQU1FLE9BQTBCLHlCQUFHRCxTQUFTLENBQUNDLE9BQWIsaUNBQXdCLEVBQXhEO01BQ0E7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7TUFDTSxNQUFNQyxNQUFNLEdBQUcsTUFBTTtRQUNuQixJQUFJO1VBQUE7O1VBQ0YsTUFBTUMsSUFBUyxHQUFHLEVBQWxCO1VBQ0FDLE1BQU0sQ0FBQ0MsT0FBUCx3QkFBZUwsU0FBUyxDQUFDTSxRQUF6QixrQ0FBcUMsRUFBckMsRUFBeUNDLE9BQXpDLENBQWlELENBQUMsQ0FBQ0MsR0FBRCxFQUFNQyxPQUFOLENBQUQsS0FBb0I7WUFDbkVOLElBQUksQ0FBQ0ssR0FBRCxDQUFKLEdBQVlDLE9BQU8sRUFBbkI7VUFDRCxDQUZEO1VBR0EsTUFBTUMsT0FBTyxHQUFHQyxJQUFJLENBQUNDLFNBQUwsQ0FBZVQsSUFBZixDQUFoQjtVQUNBLG9CQUNFO1lBRUUsRUFBRSxFQUFFTixFQUZOO1lBR0UsSUFBSSxFQUFDLGtCQUhQO1lBSUUsdUJBQXVCLEVBQUU7Y0FDdkJnQixNQUFNLEVBQUVIO1lBRGUsQ0FKM0I7WUFPRSxLQUFLLEVBQUVYLEtBQUssQ0FBQ2U7VUFQZixHQUNPakIsRUFEUCxDQURGO1FBV0QsQ0FqQkQsQ0FpQkUsT0FBT2tCLENBQVAsRUFBVTtVQUNWO1VBQ0FDLE9BQU8sQ0FBQ0MsS0FBUixDQUFjLHdCQUFkO1VBQ0FELE9BQU8sQ0FBQ0MsS0FBUixDQUFjRixDQUFkO1VBQ0EsT0FBTyxJQUFQO1FBQ0Q7TUFDRixDQXhCRDs7TUF5QkFkLE9BQU8sQ0FBQ2lCLElBQVIsZUFBYSxtQkFBQyxNQUFELEtBQWI7TUFFQSxPQUFPLEVBQ0wsR0FBR2xCLFNBREU7UUFFTEM7TUFGSyxDQUFQO0lBSUQsQ0F2REQ7RUF3REQsQ0EzREQ7QUE0REQifQ==
|
|
@@ -2,7 +2,7 @@ import { Manager } from '@rest-hooks/core';
|
|
|
2
2
|
import type { ResolveProps } from './types';
|
|
3
3
|
export default function restHooksSpout(options?: {
|
|
4
4
|
getManagers: () => Manager[];
|
|
5
|
-
}): <T extends ResolveProps>(next: () => Promise<T>) => () => Promise<T & {
|
|
5
|
+
}): <T extends ResolveProps>(next: (initData: Record<string, unknown>) => Promise<T>) => (initData: Record<string, unknown>) => Promise<T & {
|
|
6
6
|
app: JSX.Element;
|
|
7
7
|
}>;
|
|
8
8
|
//# sourceMappingURL=restHooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restHooks.d.ts","sourceRoot":"","sources":["../../src/spouts/restHooks.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"restHooks.d.ts","sourceRoot":"","sources":["../../src/spouts/restHooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAGR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,OAAO,GAAE;IACP,WAAW,EAAE,MAAM,OAAO,EAAE,CAAC;CACkB,6CAG9B,OAAO,MAAM,EAAE,OAAO,CAAC,+BAEhB,OAAO,MAAM,EAAE,OAAO,CAAC;;GAelD"}
|
package/lib/spouts/restHooks.js
CHANGED
|
@@ -11,24 +11,20 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _core = require("@rest-hooks/core");
|
|
13
13
|
|
|
14
|
-
var _ssr = require("@rest-hooks/ssr");
|
|
15
|
-
|
|
16
14
|
function restHooksSpout(options = {
|
|
17
15
|
getManagers: () => [new _core.NetworkManager()]
|
|
18
16
|
}) {
|
|
19
17
|
return function (next) {
|
|
20
|
-
return async
|
|
21
|
-
const data =
|
|
22
|
-
const nextProps = await next();
|
|
18
|
+
return async initData => {
|
|
19
|
+
const data = initData.resthooks;
|
|
20
|
+
const nextProps = await next(initData);
|
|
23
21
|
return { ...nextProps,
|
|
24
22
|
app: /*#__PURE__*/(0, _jsx2.default)(_core.CacheProvider, {
|
|
25
23
|
initialState: data,
|
|
26
24
|
managers: options.getManagers()
|
|
27
|
-
}, void 0, nextProps.app
|
|
28
|
-
data: data
|
|
29
|
-
}))
|
|
25
|
+
}, void 0, nextProps.app)
|
|
30
26
|
};
|
|
31
27
|
};
|
|
32
28
|
};
|
|
33
29
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXN0SG9va3NTcG91dCIsIm9wdGlvbnMiLCJnZXRNYW5hZ2VycyIsIk5ldHdvcmtNYW5hZ2VyIiwibmV4dCIsImluaXREYXRhIiwiZGF0YSIsInJlc3Rob29rcyIsIm5leHRQcm9wcyIsImFwcCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcG91dHMvcmVzdEhvb2tzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYWNoZVByb3ZpZGVyLFxuICBNYW5hZ2VyLFxuICBOZXR3b3JrTWFuYWdlcixcbiAgU3RhdGUsXG59IGZyb20gJ0ByZXN0LWhvb2tzL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IFJlc29sdmVQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuXG50eXBlIE5lZWRlZFByb3BzID0gUmVzb2x2ZVByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXN0SG9va3NTcG91dChcbiAgb3B0aW9uczoge1xuICAgIGdldE1hbmFnZXJzOiAoKSA9PiBNYW5hZ2VyW107XG4gIH0gPSB7IGdldE1hbmFnZXJzOiAoKSA9PiBbbmV3IE5ldHdvcmtNYW5hZ2VyKCldIH0sXG4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgTmVlZGVkUHJvcHM+KFxuICAgIG5leHQ6IChpbml0RGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFByb21pc2U8VD4sXG4gICkge1xuICAgIHJldHVybiBhc3luYyAoaW5pdERhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gaW5pdERhdGEucmVzdGhvb2tzIGFzIFN0YXRlPHVua25vd24+O1xuXG4gICAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KGluaXREYXRhKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgICBhcHA6IChcbiAgICAgICAgICA8Q2FjaGVQcm92aWRlciBpbml0aWFsU3RhdGU9e2RhdGF9IG1hbmFnZXJzPXtvcHRpb25zLmdldE1hbmFnZXJzKCl9PlxuICAgICAgICAgICAge25leHRQcm9wcy5hcHB9XG4gICAgICAgICAgPC9DYWNoZVByb3ZpZGVyPlxuICAgICAgICApLFxuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQVdlLFNBQVNBLGNBQVQsQ0FDYkMsT0FFQyxHQUFHO0VBQUVDLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSUMsb0JBQUosRUFBRDtBQUFyQixDQUhTLEVBSWI7RUFDQSxPQUFPLFVBQ0xDLElBREssRUFFTDtJQUNBLE9BQU8sTUFBT0MsUUFBUCxJQUE2QztNQUNsRCxNQUFNQyxJQUFJLEdBQUdELFFBQVEsQ0FBQ0UsU0FBdEI7TUFFQSxNQUFNQyxTQUFTLEdBQUcsTUFBTUosSUFBSSxDQUFDQyxRQUFELENBQTVCO01BRUEsT0FBTyxFQUNMLEdBQUdHLFNBREU7UUFFTEMsR0FBRyxlQUNELG1CQUFDLG1CQUFEO1VBQWUsWUFBWSxFQUFFSCxJQUE3QjtVQUFtQyxRQUFRLEVBQUVMLE9BQU8sQ0FBQ0MsV0FBUjtRQUE3QyxXQUNHTSxTQUFTLENBQUNDLEdBRGI7TUFIRyxDQUFQO0lBUUQsQ0FiRDtFQWNELENBakJEO0FBa0JEIn0=
|
|
@@ -1,9 +1,49 @@
|
|
|
1
1
|
import { Manager } from '@rest-hooks/core';
|
|
2
2
|
import type { ResolveProps, ServerProps } from './types';
|
|
3
|
+
declare type NeededProps = {
|
|
4
|
+
initData?: Record<string, () => unknown>;
|
|
5
|
+
} & ResolveProps;
|
|
3
6
|
export default function restHooksSpout(options?: {
|
|
4
7
|
getManagers: () => Manager[];
|
|
5
|
-
}): <T extends
|
|
8
|
+
}): <T extends NeededProps>(next: (props: ServerProps) => Promise<T>) => (props: ServerProps) => Promise<T & {
|
|
6
9
|
controller: import("@rest-hooks/core").Controller;
|
|
10
|
+
initData: {
|
|
11
|
+
resthooks: () => Readonly<{
|
|
12
|
+
entities: {
|
|
13
|
+
readonly [entityKey: string]: {
|
|
14
|
+
readonly [pk: string]: unknown;
|
|
15
|
+
} | undefined;
|
|
16
|
+
};
|
|
17
|
+
indexes: import("@rest-hooks/normalizr").NormalizedIndex;
|
|
18
|
+
results: {
|
|
19
|
+
readonly [key: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
meta: {
|
|
22
|
+
readonly [key: string]: {
|
|
23
|
+
readonly date: number;
|
|
24
|
+
readonly error?: import("@rest-hooks/endpoint").ErrorTypes | undefined;
|
|
25
|
+
readonly expiresAt: number;
|
|
26
|
+
readonly prevExpiresAt?: number | undefined;
|
|
27
|
+
readonly invalidated?: boolean | undefined;
|
|
28
|
+
readonly errorPolicy?: "soft" | undefined;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
entityMeta: {
|
|
32
|
+
readonly [entityKey: string]: {
|
|
33
|
+
readonly [pk: string]: {
|
|
34
|
+
readonly date: number;
|
|
35
|
+
readonly expiresAt: number;
|
|
36
|
+
readonly fetchedAt: number;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
optimistic: (import("@rest-hooks/core").OptimisticAction<import("@rest-hooks/core").EndpointInterface<import("@rest-hooks/core").FetchFunction<any, any, any>, import("@rest-hooks/core").Schema | undefined, true | undefined> & {
|
|
41
|
+
update?: import("@rest-hooks/core").EndpointUpdateFunction<import("@rest-hooks/core").EndpointInterface<import("@rest-hooks/core").FetchFunction<any, any, any>, import("@rest-hooks/core").Schema | undefined, true | undefined>, Record<string, any>> | undefined;
|
|
42
|
+
}> | import("@rest-hooks/core").ReceiveAction<string | number | object | null, any>)[];
|
|
43
|
+
lastReset: number | Date;
|
|
44
|
+
}>;
|
|
45
|
+
};
|
|
7
46
|
app: JSX.Element;
|
|
8
47
|
}>;
|
|
48
|
+
export {};
|
|
9
49
|
//# sourceMappingURL=restHooks.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restHooks.server.d.ts","sourceRoot":"","sources":["../../src/spouts/restHooks.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"restHooks.server.d.ts","sourceRoot":"","sources":["../../src/spouts/restHooks.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD,aAAK,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAA;CAAE,GAAG,YAAY,CAAC;AAE/E,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,OAAO,GAAE;IACP,WAAW,EAAE,MAAM,OAAO,EAAE,CAAC;CACkB,yCAGjC,WAAW,4BAEJ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkBnC"}
|
|
@@ -11,20 +11,23 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _core = require("@rest-hooks/core");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _rhHelp = require("./rhHelp");
|
|
15
15
|
|
|
16
16
|
function restHooksSpout(options = {
|
|
17
17
|
getManagers: () => [new _core.NetworkManager()]
|
|
18
18
|
}) {
|
|
19
19
|
return function (next) {
|
|
20
20
|
return async props => {
|
|
21
|
-
const [ServerCacheProvider, controller] = (0,
|
|
21
|
+
const [ServerCacheProvider, controller, store] = (0, _rhHelp.createPersistedStore)(options.getManagers());
|
|
22
22
|
const nextProps = await next(props);
|
|
23
23
|
return { ...nextProps,
|
|
24
24
|
controller,
|
|
25
|
+
initData: { ...nextProps.initData,
|
|
26
|
+
resthooks: () => store.getState()
|
|
27
|
+
},
|
|
25
28
|
app: /*#__PURE__*/(0, _jsx2.default)(ServerCacheProvider, {}, void 0, nextProps.app)
|
|
26
29
|
};
|
|
27
30
|
};
|
|
28
31
|
};
|
|
29
32
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXN0SG9va3NTcG91dCIsIm9wdGlvbnMiLCJnZXRNYW5hZ2VycyIsIk5ldHdvcmtNYW5hZ2VyIiwibmV4dCIsInByb3BzIiwiU2VydmVyQ2FjaGVQcm92aWRlciIsImNvbnRyb2xsZXIiLCJzdG9yZSIsImNyZWF0ZVBlcnNpc3RlZFN0b3JlIiwibmV4dFByb3BzIiwiaW5pdERhdGEiLCJyZXN0aG9va3MiLCJnZXRTdGF0ZSIsImFwcCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcG91dHMvcmVzdEhvb2tzLnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFuYWdlciwgTmV0d29ya01hbmFnZXIgfSBmcm9tICdAcmVzdC1ob29rcy9jb3JlJztcblxuaW1wb3J0IHsgY3JlYXRlUGVyc2lzdGVkU3RvcmUgfSBmcm9tICcuL3JoSGVscCc7XG5pbXBvcnQgdHlwZSB7IFJlc29sdmVQcm9wcywgU2VydmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBOZWVkZWRQcm9wcyA9IHsgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPiB9ICYgUmVzb2x2ZVByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXN0SG9va3NTcG91dChcbiAgb3B0aW9uczoge1xuICAgIGdldE1hbmFnZXJzOiAoKSA9PiBNYW5hZ2VyW107XG4gIH0gPSB7IGdldE1hbmFnZXJzOiAoKSA9PiBbbmV3IE5ldHdvcmtNYW5hZ2VyKCldIH0sXG4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgTmVlZGVkUHJvcHM+KFxuICAgIG5leHQ6IChwcm9wczogU2VydmVyUHJvcHMpID0+IFByb21pc2U8VD4sXG4gICkge1xuICAgIHJldHVybiBhc3luYyAocHJvcHM6IFNlcnZlclByb3BzKSA9PiB7XG4gICAgICBjb25zdCBbU2VydmVyQ2FjaGVQcm92aWRlciwgY29udHJvbGxlciwgc3RvcmVdID0gY3JlYXRlUGVyc2lzdGVkU3RvcmUoXG4gICAgICAgIG9wdGlvbnMuZ2V0TWFuYWdlcnMoKSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICAgIGNvbnRyb2xsZXIsXG4gICAgICAgIGluaXREYXRhOiB7XG4gICAgICAgICAgLi4ubmV4dFByb3BzLmluaXREYXRhLFxuICAgICAgICAgIHJlc3Rob29rczogKCkgPT4gc3RvcmUuZ2V0U3RhdGUoKSxcbiAgICAgICAgfSxcbiAgICAgICAgYXBwOiA8U2VydmVyQ2FjaGVQcm92aWRlcj57bmV4dFByb3BzLmFwcH08L1NlcnZlckNhY2hlUHJvdmlkZXI+LFxuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUtlLFNBQVNBLGNBQVQsQ0FDYkMsT0FFQyxHQUFHO0VBQUVDLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSUMsb0JBQUosRUFBRDtBQUFyQixDQUhTLEVBSWI7RUFDQSxPQUFPLFVBQ0xDLElBREssRUFFTDtJQUNBLE9BQU8sTUFBT0MsS0FBUCxJQUE4QjtNQUNuQyxNQUFNLENBQUNDLG1CQUFELEVBQXNCQyxVQUF0QixFQUFrQ0MsS0FBbEMsSUFBMkMsSUFBQUMsNEJBQUEsRUFDL0NSLE9BQU8sQ0FBQ0MsV0FBUixFQUQrQyxDQUFqRDtNQUlBLE1BQU1RLFNBQVMsR0FBRyxNQUFNTixJQUFJLENBQUNDLEtBQUQsQ0FBNUI7TUFFQSxPQUFPLEVBQ0wsR0FBR0ssU0FERTtRQUVMSCxVQUZLO1FBR0xJLFFBQVEsRUFBRSxFQUNSLEdBQUdELFNBQVMsQ0FBQ0MsUUFETDtVQUVSQyxTQUFTLEVBQUUsTUFBTUosS0FBSyxDQUFDSyxRQUFOO1FBRlQsQ0FITDtRQU9MQyxHQUFHLGVBQUUsbUJBQUMsbUJBQUQsY0FBc0JKLFNBQVMsQ0FBQ0ksR0FBaEM7TUFQQSxDQUFQO0lBU0QsQ0FoQkQ7RUFpQkQsQ0FwQkQ7QUFxQkQifQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Controller, Manager } from '@rest-hooks/core';
|
|
2
|
+
export declare function createPersistedStore(managers?: Manager[]): readonly [({ children }: {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
}) => JSX.Element, Controller, import("redux").Store<Readonly<{
|
|
5
|
+
entities: {
|
|
6
|
+
readonly [entityKey: string]: {
|
|
7
|
+
readonly [pk: string]: unknown;
|
|
8
|
+
} | undefined;
|
|
9
|
+
};
|
|
10
|
+
indexes: import("@rest-hooks/normalizr").NormalizedIndex;
|
|
11
|
+
results: {
|
|
12
|
+
readonly [key: string]: unknown;
|
|
13
|
+
};
|
|
14
|
+
meta: {
|
|
15
|
+
readonly [key: string]: {
|
|
16
|
+
readonly date: number;
|
|
17
|
+
readonly error?: import("@rest-hooks/endpoint").ErrorTypes | undefined;
|
|
18
|
+
readonly expiresAt: number;
|
|
19
|
+
readonly prevExpiresAt?: number | undefined;
|
|
20
|
+
readonly invalidated?: boolean | undefined;
|
|
21
|
+
readonly errorPolicy?: "soft" | undefined;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
entityMeta: {
|
|
25
|
+
readonly [entityKey: string]: {
|
|
26
|
+
readonly [pk: string]: {
|
|
27
|
+
readonly date: number;
|
|
28
|
+
readonly expiresAt: number;
|
|
29
|
+
readonly fetchedAt: number;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
optimistic: (import("@rest-hooks/core").OptimisticAction<import("rest-hooks").EndpointInterface<import("rest-hooks").FetchFunction<any, any, any>, import("rest-hooks").Schema | undefined, true | undefined> & {
|
|
34
|
+
update?: import("@rest-hooks/core").EndpointUpdateFunction<import("rest-hooks").EndpointInterface<import("rest-hooks").FetchFunction<any, any, any>, import("rest-hooks").Schema | undefined, true | undefined>, Record<string, any>> | undefined;
|
|
35
|
+
}> | import("rest-hooks").ReceiveAction<string | number | object | null, any>)[];
|
|
36
|
+
lastReset: number | Date;
|
|
37
|
+
}>, import("rest-hooks").ActionTypes> & {
|
|
38
|
+
dispatch: unknown;
|
|
39
|
+
}];
|
|
40
|
+
//# sourceMappingURL=rhHelp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rhHelp.d.ts","sourceRoot":"","sources":["../../src/spouts/rhHelp.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,OAAO,EAGR,MAAM,kBAAkB,CAAC;AAI1B,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE;cAYA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAYvE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.createPersistedStore = createPersistedStore;
|
|
7
|
+
|
|
8
|
+
var _jsx2 = _interopRequireDefault(require("@babel/runtime/helpers/jsx"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _restHooks = require("rest-hooks");
|
|
13
|
+
|
|
14
|
+
var _core = require("@rest-hooks/core");
|
|
15
|
+
|
|
16
|
+
var _redux = require("redux");
|
|
17
|
+
|
|
18
|
+
// TODO: Rework this and upstream to rest hooks
|
|
19
|
+
function createPersistedStore(managers) {
|
|
20
|
+
var _managers;
|
|
21
|
+
|
|
22
|
+
const controller = new _core.Controller();
|
|
23
|
+
managers = (_managers = managers) != null ? _managers : [new _core.NetworkManager()];
|
|
24
|
+
const reducer = (0, _core.createReducer)(controller);
|
|
25
|
+
const enhancer = (0, _redux.applyMiddleware)(...(0, _core.applyManager)(managers, controller), _restHooks.PromiseifyMiddleware);
|
|
26
|
+
const store = (0, _redux.createStore)(reducer, _core.initialState, enhancer);
|
|
27
|
+
managers.forEach(manager => {
|
|
28
|
+
var _manager$init;
|
|
29
|
+
|
|
30
|
+
return (_manager$init = manager.init) === null || _manager$init === void 0 ? void 0 : _manager$init.call(manager, store.getState());
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const selector = state => state;
|
|
34
|
+
|
|
35
|
+
function ServerCacheProvider({
|
|
36
|
+
children
|
|
37
|
+
}) {
|
|
38
|
+
return /*#__PURE__*/(0, _jsx2.default)(_restHooks.ExternalCacheProvider, {
|
|
39
|
+
store: store,
|
|
40
|
+
selector: selector,
|
|
41
|
+
controller: controller
|
|
42
|
+
}, void 0, children);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return [ServerCacheProvider, controller, store];
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIm1hbmFnZXJzIiwiY29udHJvbGxlciIsIkNvbnRyb2xsZXIiLCJOZXR3b3JrTWFuYWdlciIsInJlZHVjZXIiLCJjcmVhdGVSZWR1Y2VyIiwiZW5oYW5jZXIiLCJhcHBseU1pZGRsZXdhcmUiLCJhcHBseU1hbmFnZXIiLCJQcm9taXNlaWZ5TWlkZGxld2FyZSIsInN0b3JlIiwiY3JlYXRlU3RvcmUiLCJpbml0aWFsU3RhdGUiLCJmb3JFYWNoIiwibWFuYWdlciIsImluaXQiLCJnZXRTdGF0ZSIsInNlbGVjdG9yIiwic3RhdGUiLCJTZXJ2ZXJDYWNoZVByb3ZpZGVyIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL3JoSGVscC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXh0ZXJuYWxDYWNoZVByb3ZpZGVyLCBQcm9taXNlaWZ5TWlkZGxld2FyZSB9IGZyb20gJ3Jlc3QtaG9va3MnO1xuaW1wb3J0IHtcbiAgQ29udHJvbGxlcixcbiAgY3JlYXRlUmVkdWNlcixcbiAgaW5pdGlhbFN0YXRlLFxuICBNYW5hZ2VyLFxuICBhcHBseU1hbmFnZXIsXG4gIE5ldHdvcmtNYW5hZ2VyLFxufSBmcm9tICdAcmVzdC1ob29rcy9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZVN0b3JlLCBhcHBseU1pZGRsZXdhcmUgfSBmcm9tICdyZWR1eCc7XG5cbi8vIFRPRE86IFJld29yayB0aGlzIGFuZCB1cHN0cmVhbSB0byByZXN0IGhvb2tzXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGVyc2lzdGVkU3RvcmUobWFuYWdlcnM/OiBNYW5hZ2VyW10pIHtcbiAgY29uc3QgY29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG4gIG1hbmFnZXJzID0gbWFuYWdlcnMgPz8gW25ldyBOZXR3b3JrTWFuYWdlcigpXTtcbiAgY29uc3QgcmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoY29udHJvbGxlcik7XG4gIGNvbnN0IGVuaGFuY2VyID0gYXBwbHlNaWRkbGV3YXJlKFxuICAgIC4uLmFwcGx5TWFuYWdlcihtYW5hZ2VycywgY29udHJvbGxlciksXG4gICAgUHJvbWlzZWlmeU1pZGRsZXdhcmUgYXMgYW55LFxuICApO1xuICBjb25zdCBzdG9yZSA9IGNyZWF0ZVN0b3JlKHJlZHVjZXIsIGluaXRpYWxTdGF0ZSBhcyBhbnksIGVuaGFuY2VyKTtcbiAgbWFuYWdlcnMuZm9yRWFjaChtYW5hZ2VyID0+IG1hbmFnZXIuaW5pdD8uKHN0b3JlLmdldFN0YXRlKCkpKTtcblxuICBjb25zdCBzZWxlY3RvciA9IChzdGF0ZTogYW55KSA9PiBzdGF0ZTtcbiAgZnVuY3Rpb24gU2VydmVyQ2FjaGVQcm92aWRlcih7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxFeHRlcm5hbENhY2hlUHJvdmlkZXJcbiAgICAgICAgc3RvcmU9e3N0b3JlfVxuICAgICAgICBzZWxlY3Rvcj17c2VsZWN0b3J9XG4gICAgICAgIGNvbnRyb2xsZXI9e2NvbnRyb2xsZXJ9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvRXh0ZXJuYWxDYWNoZVByb3ZpZGVyPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIFtTZXJ2ZXJDYWNoZVByb3ZpZGVyLCBjb250cm9sbGVyLCBzdG9yZV0gYXMgY29uc3Q7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBUUE7O0FBRUE7QUFDTyxTQUFTQSxvQkFBVCxDQUE4QkMsUUFBOUIsRUFBb0Q7RUFBQTs7RUFDekQsTUFBTUMsVUFBVSxHQUFHLElBQUlDLGdCQUFKLEVBQW5CO0VBQ0FGLFFBQVEsZ0JBQUdBLFFBQUgsd0JBQWUsQ0FBQyxJQUFJRyxvQkFBSixFQUFELENBQXZCO0VBQ0EsTUFBTUMsT0FBTyxHQUFHLElBQUFDLG1CQUFBLEVBQWNKLFVBQWQsQ0FBaEI7RUFDQSxNQUFNSyxRQUFRLEdBQUcsSUFBQUMsc0JBQUEsRUFDZixHQUFHLElBQUFDLGtCQUFBLEVBQWFSLFFBQWIsRUFBdUJDLFVBQXZCLENBRFksRUFFZlEsK0JBRmUsQ0FBakI7RUFJQSxNQUFNQyxLQUFLLEdBQUcsSUFBQUMsa0JBQUEsRUFBWVAsT0FBWixFQUFxQlEsa0JBQXJCLEVBQTBDTixRQUExQyxDQUFkO0VBQ0FOLFFBQVEsQ0FBQ2EsT0FBVCxDQUFpQkMsT0FBTztJQUFBOztJQUFBLHdCQUFJQSxPQUFPLENBQUNDLElBQVosa0RBQUksbUJBQUFELE9BQU8sRUFBUUosS0FBSyxDQUFDTSxRQUFOLEVBQVIsQ0FBWDtFQUFBLENBQXhCOztFQUVBLE1BQU1DLFFBQVEsR0FBSUMsS0FBRCxJQUFnQkEsS0FBakM7O0VBQ0EsU0FBU0MsbUJBQVQsQ0FBNkI7SUFBRUM7RUFBRixDQUE3QixFQUEwRTtJQUN4RSxvQkFDRSxtQkFBQyxnQ0FBRDtNQUNFLEtBQUssRUFBRVYsS0FEVDtNQUVFLFFBQVEsRUFBRU8sUUFGWjtNQUdFLFVBQVUsRUFBRWhCO0lBSGQsV0FLR21CLFFBTEgsQ0FERjtFQVNEOztFQUNELE9BQU8sQ0FBQ0QsbUJBQUQsRUFBc0JsQixVQUF0QixFQUFrQ1MsS0FBbEMsQ0FBUDtBQUNEIn0=
|
package/lib/spouts/router.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export default function routerSpout<ResolveWith>(options: {
|
|
|
6
6
|
useResolveWith: () => ResolveWith;
|
|
7
7
|
createRouter: CreateRouter<ResolveWith>;
|
|
8
8
|
onChange?: (update: Update, callback: () => void | undefined) => void;
|
|
9
|
-
}): <T extends ResolveProps>(next: () => Promise<T>) => () => Promise<T & {
|
|
9
|
+
}): <T extends ResolveProps>(next: (initData: Record<string, unknown>) => Promise<T>) => (initData: Record<string, unknown>) => Promise<T & {
|
|
10
10
|
matchedRoutes: (Route<ResolveWith, any> & object)[];
|
|
11
11
|
router: RouteController<Route<ResolveWith, any>>;
|
|
12
12
|
app: JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/spouts/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE;IACxD,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;CACvE;;;;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/spouts/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE;IACxD,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;CACvE,6CAmBoB,OAAO,MAAM,EAAE,OAAO,CAAC,+BAEhB,OAAO,MAAM,EAAE,OAAO,CAAC;;;;GAgBlD"}
|
package/lib/spouts/router.js
CHANGED
|
@@ -26,11 +26,11 @@ function routerSpout(options) {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
return function (next) {
|
|
29
|
-
return async
|
|
29
|
+
return async initData => {
|
|
30
30
|
const history = (0, _history.createBrowserHistory)();
|
|
31
31
|
const router = options.createRouter(history);
|
|
32
32
|
const matchedRoutes = router.getMatchedRoutes(history.location.pathname);
|
|
33
|
-
const nextProps = await next();
|
|
33
|
+
const nextProps = await next(initData);
|
|
34
34
|
const Router = createRouteComponent(router);
|
|
35
35
|
return { ...nextProps,
|
|
36
36
|
matchedRoutes,
|
|
@@ -40,4 +40,4 @@ function routerSpout(options) {
|
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyb3V0ZXJTcG91dCIsIm9wdGlvbnMiLCJjcmVhdGVSb3V0ZUNvbXBvbmVudCIsInJvdXRlciIsIlJvdXRlciIsImNoaWxkcmVuIiwicmVzb2x2ZVdpdGgiLCJ1c2VSZXNvbHZlV2l0aCIsIm9uQ2hhbmdlIiwibmV4dCIsImluaXREYXRhIiwiaGlzdG9yeSIsImNyZWF0ZUJyb3dzZXJIaXN0b3J5IiwiY3JlYXRlUm91dGVyIiwibWF0Y2hlZFJvdXRlcyIsImdldE1hdGNoZWRSb3V0ZXMiLCJsb2NhdGlvbiIsInBhdGhuYW1lIiwibmV4dFByb3BzIiwiYXBwIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9yb3V0ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlLCBSb3V0ZVByb3ZpZGVyLCBSb3V0ZUNvbnRyb2xsZXIgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlQnJvd3Nlckhpc3RvcnkgfSBmcm9tICdoaXN0b3J5JztcbmltcG9ydCB0eXBlIHsgVXBkYXRlIH0gZnJvbSAnaGlzdG9yeSc7XG5cbmltcG9ydCB0eXBlIHsgUmVzb2x2ZVByb3BzLCBDcmVhdGVSb3V0ZXIgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBOZWVkZWRQcm9wcyA9IFJlc29sdmVQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcm91dGVyU3BvdXQ8UmVzb2x2ZVdpdGg+KG9wdGlvbnM6IHtcbiAgcmVzb2x2ZVdpdGg/OiBhbnk7XG4gIHVzZVJlc29sdmVXaXRoOiAoKSA9PiBSZXNvbHZlV2l0aDtcbiAgY3JlYXRlUm91dGVyOiBDcmVhdGVSb3V0ZXI8UmVzb2x2ZVdpdGg+O1xuICBvbkNoYW5nZT86ICh1cGRhdGU6IFVwZGF0ZSwgY2FsbGJhY2s6ICgpID0+IHZvaWQgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG59KSB7XG4gIGNvbnN0IGNyZWF0ZVJvdXRlQ29tcG9uZW50ID0gKFxuICAgIHJvdXRlcjogUm91dGVDb250cm9sbGVyPFJvdXRlPFJlc29sdmVXaXRoLCBhbnk+PixcbiAgKSA9PlxuICAgIGZ1bmN0aW9uIFJvdXRlcih7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gICAgICBjb25zdCByZXNvbHZlV2l0aCA9IG9wdGlvbnMudXNlUmVzb2x2ZVdpdGgoKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFJvdXRlUHJvdmlkZXJcbiAgICAgICAgICByb3V0ZXI9e3JvdXRlcn1cbiAgICAgICAgICByZXNvbHZlV2l0aD17cmVzb2x2ZVdpdGh9XG4gICAgICAgICAgb25DaGFuZ2U9e29wdGlvbnMub25DaGFuZ2V9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvUm91dGVQcm92aWRlcj5cbiAgICAgICk7XG4gICAgfTtcblxuICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBOZWVkZWRQcm9wcz4oXG4gICAgbmV4dDogKGluaXREYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gUHJvbWlzZTxUPixcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIChpbml0RGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBjcmVhdGVCcm93c2VySGlzdG9yeSgpO1xuICAgICAgY29uc3Qgcm91dGVyID0gb3B0aW9ucy5jcmVhdGVSb3V0ZXIoaGlzdG9yeSk7XG4gICAgICBjb25zdCBtYXRjaGVkUm91dGVzID0gcm91dGVyLmdldE1hdGNoZWRSb3V0ZXMoaGlzdG9yeS5sb2NhdGlvbi5wYXRobmFtZSk7XG5cbiAgICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQoaW5pdERhdGEpO1xuXG4gICAgICBjb25zdCBSb3V0ZXIgPSBjcmVhdGVSb3V0ZUNvbXBvbmVudChyb3V0ZXIpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgICBtYXRjaGVkUm91dGVzLFxuICAgICAgICByb3V0ZXIsXG4gICAgICAgIGFwcDogPFJvdXRlcj57bmV4dFByb3BzLmFwcH08L1JvdXRlcj4sXG4gICAgICB9O1xuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQU9lLFNBQVNBLFdBQVQsQ0FBa0NDLE9BQWxDLEVBS1o7RUFDRCxNQUFNQyxvQkFBb0IsR0FDeEJDLE1BRDJCLElBRzNCLFNBQVNDLE1BQVQsQ0FBZ0I7SUFBRUM7RUFBRixDQUFoQixFQUE2RDtJQUMzRCxNQUFNQyxXQUFXLEdBQUdMLE9BQU8sQ0FBQ00sY0FBUixFQUFwQjtJQUVBLG9CQUNFLG1CQUFDLHFCQUFEO01BQ0UsTUFBTSxFQUFFSixNQURWO01BRUUsV0FBVyxFQUFFRyxXQUZmO01BR0UsUUFBUSxFQUFFTCxPQUFPLENBQUNPO0lBSHBCLFdBS0dILFFBTEgsQ0FERjtFQVNELENBZkg7O0VBaUJBLE9BQU8sVUFDTEksSUFESyxFQUVMO0lBQ0EsT0FBTyxNQUFPQyxRQUFQLElBQTZDO01BQ2xELE1BQU1DLE9BQU8sR0FBRyxJQUFBQyw2QkFBQSxHQUFoQjtNQUNBLE1BQU1ULE1BQU0sR0FBR0YsT0FBTyxDQUFDWSxZQUFSLENBQXFCRixPQUFyQixDQUFmO01BQ0EsTUFBTUcsYUFBYSxHQUFHWCxNQUFNLENBQUNZLGdCQUFQLENBQXdCSixPQUFPLENBQUNLLFFBQVIsQ0FBaUJDLFFBQXpDLENBQXRCO01BRUEsTUFBTUMsU0FBUyxHQUFHLE1BQU1ULElBQUksQ0FBQ0MsUUFBRCxDQUE1QjtNQUVBLE1BQU1OLE1BQU0sR0FBR0Ysb0JBQW9CLENBQUNDLE1BQUQsQ0FBbkM7TUFDQSxPQUFPLEVBQ0wsR0FBR2UsU0FERTtRQUVMSixhQUZLO1FBR0xYLE1BSEs7UUFJTGdCLEdBQUcsZUFBRSxtQkFBQyxNQUFELGNBQVNELFNBQVMsQ0FBQ0MsR0FBbkI7TUFKQSxDQUFQO0lBTUQsQ0FkRDtFQWVELENBbEJEO0FBbUJEIn0=
|
package/lib/spouts/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/spouts/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGxD,oBAAY,WAAW,GAAG;IACxB,GAAG,EAAE,OAAO,GAAG,eAAe,CAAC;IAC/B,GAAG,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC/B,cAAc,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/spouts/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGxD,oBAAY,WAAW,GAAG;IACxB,GAAG,EAAE,OAAO,GAAG,eAAe,CAAC;IAC/B,GAAG,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC/B,cAAc,EAAE,gBAAgB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,oBAAY,YAAY,GAAG;IACzB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,CAAC,CAAC,IAAI,CAC5B,OAAO,EAAE,OAAO,KACb,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC"}
|
package/lib/spouts/types.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgeyBSZXF1ZXN0LCBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHR5cGUgeyBTdGF0c0NvbXBpbGF0aW9uIH0gZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgeyBIaXN0b3J5IH0gZnJvbSAnaGlzdG9yeSc7XG5pbXBvcnQgeyBSb3V0ZSwgUm91dGVDb250cm9sbGVyIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuXG4vKiBWYXJpYWJsZXMgZnJvbSB0aGUgcmVuZGVyaW5nIGNhbGwgKi9cbmV4cG9ydCB0eXBlIFNlcnZlclByb3BzID0ge1xuICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2U7XG4gIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZTtcbiAgY2xpZW50TWFuaWZlc3Q6IFN0YXRzQ29tcGlsYXRpb247XG4gIG5vbmNlOiBzdHJpbmc7XG59O1xuXG4vKiBCYXNlbGluZSBleHBlY3RhdGlvbnMgb2YgcmV0dXJuIHZhbHVlICovXG5leHBvcnQgdHlwZSBSZXNvbHZlUHJvcHMgPSB7XG4gIGFwcDogSlNYLkVsZW1lbnQ7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVSb3V0ZXI8VD4gPSAoXG4gIGhpc3Rvcnk6IEhpc3RvcnksXG4pID0+IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxULCBhbnk+PjtcbiJdLCJtYXBwaW5ncyI6IiJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anansi/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "React 18 Framework",
|
|
5
5
|
"homepage": "https://github.com/ntucker/anansi/tree/master/packages/core#readme",
|
|
6
6
|
"repository": {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"webpack-cli": "^4.9.2"
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
|
-
"@anansi/router": "^0.6.
|
|
83
|
+
"@anansi/router": "^0.6.1",
|
|
84
84
|
"@babel/runtime": "^7.10.5",
|
|
85
85
|
"@rest-hooks/ssr": "^0.2.0",
|
|
86
86
|
"chalk": "^4.0.0",
|
package/src/index.server.ts
CHANGED
|
@@ -3,3 +3,4 @@ export { default as documentSpout } from './spouts/document.server';
|
|
|
3
3
|
export { default as restHooksSpout } from './spouts/restHooks.server';
|
|
4
4
|
export { default as routerSpout } from './spouts/router.server';
|
|
5
5
|
export { default as prefetchSpout } from './spouts/prefetch.server';
|
|
6
|
+
export { default as JSONSpout } from './spouts/json.server';
|
package/src/index.ts
CHANGED
|
@@ -2,3 +2,4 @@ export { default as floodSpouts } from './floodSpouts';
|
|
|
2
2
|
export { default as documentSpout } from './spouts/document';
|
|
3
3
|
export { default as restHooksSpout } from './spouts/restHooks';
|
|
4
4
|
export { default as routerSpout } from './spouts/router';
|
|
5
|
+
export { default as JSONSpout } from './spouts/json';
|
package/src/laySpouts.tsx
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { renderToPipeableStream as reactRender } from 'react-dom/server';
|
|
2
|
+
import crypto from 'crypto';
|
|
2
3
|
|
|
3
4
|
import { Render } from './scripts/types';
|
|
4
5
|
import { ServerProps } from './spouts/types';
|
|
@@ -10,7 +11,9 @@ export default function laySpouts(
|
|
|
10
11
|
{ timeoutMS = 200 }: { timeoutMS?: number } = {},
|
|
11
12
|
) {
|
|
12
13
|
const render: Render = async (clientManifest, req, res) => {
|
|
13
|
-
const
|
|
14
|
+
const nonce = crypto.randomBytes(16).toString('base64');
|
|
15
|
+
|
|
16
|
+
const { app } = await spouts({ clientManifest, req, res, nonce });
|
|
14
17
|
let didError = false;
|
|
15
18
|
const { pipe, abort } = reactRender(
|
|
16
19
|
app,
|
|
@@ -31,6 +34,7 @@ type Options = {|
|
|
|
31
34
|
|};
|
|
32
35
|
*/
|
|
33
36
|
{
|
|
37
|
+
nonce,
|
|
34
38
|
//bootstrapScripts: assets.filter(asset => asset.endsWith('.js')),
|
|
35
39
|
onShellReady() {
|
|
36
40
|
//managers.forEach(manager => manager.cleanup());
|
|
@@ -89,10 +89,7 @@ export default function startDevServer(
|
|
|
89
89
|
{ mode: 'development', target: 'node' },
|
|
90
90
|
),
|
|
91
91
|
] as const;
|
|
92
|
-
|
|
93
|
-
webpackConfigs[1].plugins.push(
|
|
94
|
-
new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 1 }),
|
|
95
|
-
);
|
|
92
|
+
|
|
96
93
|
// initialize the webpack compiler
|
|
97
94
|
const compiler: MultiCompiler = webpack(webpackConfigs);
|
|
98
95
|
|
|
@@ -148,8 +145,9 @@ export default function startDevServer(
|
|
|
148
145
|
|
|
149
146
|
const serverEntry = getServerBundle(serverStats);
|
|
150
147
|
// reload modules
|
|
151
|
-
|
|
152
|
-
|
|
148
|
+
Object.keys(fsRequire.cache).forEach(key => {
|
|
149
|
+
delete fsRequire.cache[key];
|
|
150
|
+
});
|
|
153
151
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
154
152
|
render = (fsRequire(serverEntry) as any).default.bind(
|
|
155
153
|
undefined,
|