@blaze-cms/nextjs-tools 0.129.0-project-admin-customisations.1 → 0.129.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 +13 -2
- package/README.md +8 -0
- package/lib/hoc/withBlaze.js +15 -14
- package/lib/hoc/withBlaze.js.map +1 -1
- package/lib-es/hoc/withBlaze.js +4 -2
- package/lib-es/hoc/withBlaze.js.map +1 -1
- package/package.json +16 -16
- package/src/hoc/withBlaze.js +13 -8
- package/tests/unit/src/hoc/withBlaze.test.js +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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.129.0
|
|
6
|
+
# [0.129.0](https://github.com/thebyte9/blaze/compare/v0.129.0-alpha.1...v0.129.0) (2023-05-23)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
9
9
|
|
|
@@ -11,7 +11,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
# [0.129.0-
|
|
14
|
+
# [0.129.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.129.0-alpha.0...v0.129.0-alpha.1) (2023-05-17)
|
|
15
15
|
|
|
16
16
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
17
17
|
|
|
@@ -19,6 +19,17 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
+
# [0.129.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.128.2...v0.129.0-alpha.0) (2023-05-10)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* add query checker that forces SSR to complete if apollo client gets stuck ([#3923](https://github.com/thebyte9/blaze/issues/3923)) ([02cc0d7](https://github.com/thebyte9/blaze/commit/02cc0d775b1a1ef7cc2ec261094291124b08cd67))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
22
33
|
## [0.128.1](https://github.com/thebyte9/blaze/compare/v0.128.1-alpha.0...v0.128.1) (2023-04-14)
|
|
23
34
|
|
|
24
35
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
package/README.md
CHANGED
|
@@ -20,6 +20,14 @@ const plugins = getNextPlugins();
|
|
|
20
20
|
module.exports = withPlugins(plugins, config);
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
## Server side rendering
|
|
24
|
+
|
|
25
|
+
The [withBlaze](./src/hoc/withBlaze.js) higher order component that is used to wrap Nextjs applications using the Blaze frontend. An example of usage can be seen in the [example frontend app.js file](examples/blaze-example-frontend/src/pages/_app.js).
|
|
26
|
+
|
|
27
|
+
This implements the [server side rendering recommendations of the Apollo client](https://www.apollographql.com/docs/react/api/react/ssr/).
|
|
28
|
+
|
|
29
|
+
Note: It also has an extra check while server side rendering that will force the page to complete rendering if the apollo client gets stuck. After 500ms if all the apollo queries are finished but apollo hasn't then the app will carry on with rendering.
|
|
30
|
+
|
|
23
31
|
## App ctx
|
|
24
32
|
|
|
25
33
|
On each route change the app ctx gets set with: router, req, res;
|
package/lib/hoc/withBlaze.js
CHANGED
|
@@ -24,13 +24,13 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
24
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
25
|
require("core-js/modules/es.object.to-string.js");
|
|
26
26
|
require("core-js/modules/es.promise.js");
|
|
27
|
+
require("core-js/modules/es.array.iterator.js");
|
|
28
|
+
require("core-js/modules/es.string.iterator.js");
|
|
29
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
27
30
|
require("core-js/modules/es.array.reduce.js");
|
|
28
31
|
require("core-js/modules/es.array.sort.js");
|
|
29
32
|
require("core-js/modules/es.object.keys.js");
|
|
30
|
-
require("core-js/modules/es.array.iterator.js");
|
|
31
|
-
require("core-js/modules/es.string.iterator.js");
|
|
32
33
|
require("core-js/modules/es.weak-map.js");
|
|
33
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
34
34
|
require("core-js/modules/es.object.define-property.js");
|
|
35
35
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
36
36
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -135,7 +135,7 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
|
|
|
135
135
|
key: "getInitialProps",
|
|
136
136
|
value: function () {
|
|
137
137
|
var _getInitialProps = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(context) {
|
|
138
|
-
var _Component, router, AppTree, ctx, appProps, errorProps, requestApp, apolloClient, _appProps, _appProps$pageProps, pageProps, mainProps, apolloState, sortedState;
|
|
138
|
+
var _Component, router, AppTree, ctx, appProps, errorProps, requestApp, apolloClient, _appProps, _appProps$pageProps, pageProps, mainProps, renderAndCheckPromises, apolloState, sortedState;
|
|
139
139
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
140
140
|
while (1) switch (_context2.prev = _context2.next) {
|
|
141
141
|
case 0:
|
|
@@ -179,17 +179,18 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
|
|
|
179
179
|
return _context2.abrupt("return", mainProps);
|
|
180
180
|
case 24:
|
|
181
181
|
_context2.prev = 24;
|
|
182
|
-
|
|
183
|
-
return (0, _ssr.getDataFromTree)( /*#__PURE__*/_react["default"].createElement(AppTree, (0, _extends2["default"])({}, appProps, {
|
|
182
|
+
renderAndCheckPromises = [(0, _ssr.getDataFromTree)( /*#__PURE__*/_react["default"].createElement(AppTree, (0, _extends2["default"])({}, appProps, {
|
|
184
183
|
Component: _Component,
|
|
185
184
|
router: router,
|
|
186
185
|
apolloClient: apolloClient
|
|
187
|
-
})));
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
}))), requestApp.openQueryChecker.checkOpenQueries()]; // race is so that if getDataFromTree gets stuck the checkOpenQueries will resolve when outstanding queries are done
|
|
187
|
+
_context2.next = 28;
|
|
188
|
+
return Promise.race(renderAndCheckPromises);
|
|
189
|
+
case 28:
|
|
190
|
+
_context2.next = 36;
|
|
190
191
|
break;
|
|
191
|
-
case
|
|
192
|
-
_context2.prev =
|
|
192
|
+
case 30:
|
|
193
|
+
_context2.prev = 30;
|
|
193
194
|
_context2.t0 = _context2["catch"](24);
|
|
194
195
|
errorProps = (0, _helpers.getErrorMessage)(_context2.t0);
|
|
195
196
|
if (errorProps.errorCode) ctx.res.statusCode = errorProps.errorCode;
|
|
@@ -197,7 +198,7 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
|
|
|
197
198
|
error: _context2.t0
|
|
198
199
|
});
|
|
199
200
|
requestApp.log.error('Error while running `getDataFromTree`', _context2.t0);
|
|
200
|
-
case
|
|
201
|
+
case 36:
|
|
201
202
|
apolloState = apolloClient.cache.extract();
|
|
202
203
|
sortedState = Object.keys(apolloState).sort().reduce(function (acc, key) {
|
|
203
204
|
acc[key] = apolloState[key];
|
|
@@ -208,11 +209,11 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
|
|
|
208
209
|
apolloState: sortedState,
|
|
209
210
|
processedBlazeEntities: blazeApp.getProcessedEntities()
|
|
210
211
|
}));
|
|
211
|
-
case
|
|
212
|
+
case 39:
|
|
212
213
|
case "end":
|
|
213
214
|
return _context2.stop();
|
|
214
215
|
}
|
|
215
|
-
}, _callee2, null, [[24,
|
|
216
|
+
}, _callee2, null, [[24, 30]]);
|
|
216
217
|
}));
|
|
217
218
|
function getInitialProps(_x) {
|
|
218
219
|
return _getInitialProps.apply(this, arguments);
|
package/lib/hoc/withBlaze.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withBlaze.js","names":["_react","_interopRequireWildcard","require","_ssr","_coreUi","_interopRequireDefault","_coreAuthUi","_propTypes","_dynamic","_blaze","_helpers","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof2","cache","has","get","newObj","hasPropertyDescriptor","hasOwnProperty","desc","set","ErrorBoundary","dynamic","Promise","resolve","then","APP_LOG_NAMESPACE_MAIN","getWrappedApp","isSsr","config","blazeApp","App","_class","getApolloClient","ctx","requestApp","apolloClient","getClient","createClient","getRequestApp","getBlazeUi","_Component2","_inherits2","_super","props","_this","_classCallCheck2","state","appLoaded","initComplete","_createClass2","value","_componentDidMount","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","init","setState","stop","componentDidMount","setApolloClient","_this$props","apolloState","processedBlazeEntities","setupCheckAccessToken","render","createElement","app","_extends2","_getInitialProps","_callee2","context","_Component","router","AppTree","appProps","errorProps","_appProps","_appProps$pageProps","pageProps","mainProps","sortedState","_callee2$","_context2","Component","req","res","events","emit","getInitialProps","sent","getDataFromTree","t0","getErrorMessage","errorCode","statusCode","error","log","extract","sort","reduce","acc","getProcessedEntities","_x","PropTypes","undefined","withBlaze","buildConfig","_ref","_ref$forceSsr","forceSsr","window","blazeConfig","logNameSpace","_default","exports"],"sources":["../../src/hoc/withBlaze.js"],"sourcesContent":["// see: https://github.com/zeit/next.js/blob/canary/examples/with-apollo-auth/lib/withApollo.js\nimport React, { Component } from 'react';\nimport { getDataFromTree } from '@apollo/client/react/ssr';\nimport getBlazeUi from '@blaze-cms/core-ui';\nimport { setupCheckAccessToken } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport dynamic from 'next/dynamic'; // Next.js dynamic\nimport blazeConfig from '../blaze.config';\nimport { getErrorMessage } from '../helpers';\n\nconst ErrorBoundary = dynamic(() => import('@blaze-cms/core-errors-ui'));\n\nconst APP_LOG_NAMESPACE_MAIN = 'main';\n\nfunction getWrappedApp(isSsr, config, blazeApp, App) {\n function getApolloClient(ctx, requestApp) {\n return ctx.apolloClient || requestApp.getClient() || requestApp.createClient();\n }\n\n function getRequestApp(requestApp) {\n return !requestApp && isSsr ? getBlazeUi({ config }) : blazeApp;\n }\n return class extends Component {\n static displayName = 'withBlaze(App)';\n\n static propTypes = {\n apolloState: PropTypes.object,\n apolloClient: PropTypes.object,\n processedBlazeEntities: PropTypes.object\n };\n\n static defaultProps = {\n apolloState: {},\n apolloClient: null,\n processedBlazeEntities: undefined\n };\n\n static async getInitialProps(context) {\n const { Component: _Component, router, AppTree, ctx } = context;\n let appProps = {};\n let errorProps = {};\n\n let requestApp = ctx.blazeApp;\n requestApp = getRequestApp(requestApp);\n\n requestApp.ctx.router = router;\n requestApp.ctx.req = ctx.req;\n requestApp.ctx.res = ctx.res;\n\n await blazeApp.init();\n await requestApp.init();\n\n const apolloClient = getApolloClient(ctx, requestApp);\n\n ctx.apolloClient = apolloClient;\n ctx.blazeApp = requestApp;\n\n requestApp.events.emit('page-load:get-initial-props:before', { ctx });\n\n if (App.getInitialProps) {\n appProps = await App.getInitialProps(context);\n }\n\n const { pageProps = {} } = appProps;\n const mainProps = {\n ...appProps,\n pageProps: { ...pageProps, ...errorProps }\n };\n\n if (!isSsr) return mainProps;\n\n try {\n await getDataFromTree(\n <AppTree\n {...appProps}\n Component={_Component}\n router={router}\n apolloClient={apolloClient}\n />\n );\n } catch (error) {\n errorProps = getErrorMessage(error);\n if (errorProps.errorCode) ctx.res.statusCode = errorProps.errorCode;\n ctx.blazeApp.events.emit('monitor:log', { error });\n requestApp.log.error('Error while running `getDataFromTree`', error);\n }\n\n const apolloState = apolloClient.cache.extract();\n const sortedState = Object.keys(apolloState)\n .sort()\n .reduce((acc, key) => {\n acc[key] = apolloState[key];\n return acc;\n }, {});\n\n return {\n ...mainProps,\n pageProps: { ...mainProps.pageProps, ...errorProps },\n apolloState: sortedState,\n processedBlazeEntities: blazeApp.getProcessedEntities()\n };\n }\n\n constructor(props) {\n super(props);\n this.apolloClient = props.apolloClient;\n this.state = {\n appLoaded: isSsr || blazeApp.initComplete()\n };\n this.blazeApp = blazeApp;\n }\n\n async componentDidMount() {\n if (blazeApp.initComplete()) return;\n\n await blazeApp.init();\n\n this.setState({\n appLoaded: blazeApp.initComplete()\n });\n }\n\n setApolloClient() {\n if (!this.apolloClient) {\n const { apolloState, processedBlazeEntities } = this.props;\n this.apolloClient = blazeApp.createClient(apolloState, processedBlazeEntities);\n setupCheckAccessToken(this.apolloClient);\n }\n }\n\n render() {\n const { appLoaded } = this.state;\n\n if (!appLoaded && !isSsr) return '...loading';\n\n this.setApolloClient();\n\n return (\n <ErrorBoundary app={this.blazeApp}>\n <App {...this.props} apolloClient={this.apolloClient} />\n </ErrorBoundary>\n );\n }\n };\n}\n\nconst withBlaze = (App, buildConfig, { forceSsr = false } = {}) => {\n const isSsr = forceSsr || typeof window === 'undefined';\n const config = buildConfig ? buildConfig(blazeConfig) : blazeConfig;\n const blazeApp = getBlazeUi({ config, logNameSpace: APP_LOG_NAMESPACE_MAIN });\n blazeApp.init();\n\n return getWrappedApp(isSsr, config, blazeApp, App);\n};\n\nexport default withBlaze;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"withBlaze.js","names":["_react","_interopRequireWildcard","require","_ssr","_coreUi","_interopRequireDefault","_coreAuthUi","_propTypes","_dynamic","_blaze","_helpers","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof2","cache","has","get","newObj","hasPropertyDescriptor","hasOwnProperty","desc","set","ErrorBoundary","dynamic","Promise","resolve","then","APP_LOG_NAMESPACE_MAIN","getWrappedApp","isSsr","config","blazeApp","App","_class","getApolloClient","ctx","requestApp","apolloClient","getClient","createClient","getRequestApp","getBlazeUi","_Component2","_inherits2","_super","props","_this","_classCallCheck2","state","appLoaded","initComplete","_createClass2","value","_componentDidMount","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","init","setState","stop","componentDidMount","setApolloClient","_this$props","apolloState","processedBlazeEntities","setupCheckAccessToken","render","createElement","app","_extends2","_getInitialProps","_callee2","context","_Component","router","AppTree","appProps","errorProps","_appProps","_appProps$pageProps","pageProps","mainProps","renderAndCheckPromises","sortedState","_callee2$","_context2","Component","req","res","events","emit","getInitialProps","sent","getDataFromTree","openQueryChecker","checkOpenQueries","race","t0","getErrorMessage","errorCode","statusCode","error","log","extract","sort","reduce","acc","getProcessedEntities","_x","PropTypes","undefined","withBlaze","buildConfig","_ref","_ref$forceSsr","forceSsr","window","blazeConfig","logNameSpace","_default","exports"],"sources":["../../src/hoc/withBlaze.js"],"sourcesContent":["// see: https://github.com/zeit/next.js/blob/canary/examples/with-apollo-auth/lib/withApollo.js\nimport React, { Component } from 'react';\nimport { getDataFromTree } from '@apollo/client/react/ssr';\nimport getBlazeUi from '@blaze-cms/core-ui';\nimport { setupCheckAccessToken } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport dynamic from 'next/dynamic'; // Next.js dynamic\nimport blazeConfig from '../blaze.config';\nimport { getErrorMessage } from '../helpers';\n\nconst ErrorBoundary = dynamic(() => import('@blaze-cms/core-errors-ui'));\n\nconst APP_LOG_NAMESPACE_MAIN = 'main';\n\nfunction getWrappedApp(isSsr, config, blazeApp, App) {\n function getApolloClient(ctx, requestApp) {\n return ctx.apolloClient || requestApp.getClient() || requestApp.createClient();\n }\n\n function getRequestApp(requestApp) {\n return !requestApp && isSsr ? getBlazeUi({ config }) : blazeApp;\n }\n return class extends Component {\n static displayName = 'withBlaze(App)';\n\n static propTypes = {\n apolloState: PropTypes.object,\n apolloClient: PropTypes.object,\n processedBlazeEntities: PropTypes.object\n };\n\n static defaultProps = {\n apolloState: {},\n apolloClient: null,\n processedBlazeEntities: undefined\n };\n\n static async getInitialProps(context) {\n const { Component: _Component, router, AppTree, ctx } = context;\n let appProps = {};\n let errorProps = {};\n\n let requestApp = ctx.blazeApp;\n requestApp = getRequestApp(requestApp);\n\n requestApp.ctx.router = router;\n requestApp.ctx.req = ctx.req;\n requestApp.ctx.res = ctx.res;\n\n await blazeApp.init();\n await requestApp.init();\n\n const apolloClient = getApolloClient(ctx, requestApp);\n\n ctx.apolloClient = apolloClient;\n ctx.blazeApp = requestApp;\n\n requestApp.events.emit('page-load:get-initial-props:before', { ctx });\n\n if (App.getInitialProps) {\n appProps = await App.getInitialProps(context);\n }\n\n const { pageProps = {} } = appProps;\n const mainProps = {\n ...appProps,\n pageProps: { ...pageProps, ...errorProps }\n };\n\n if (!isSsr) return mainProps;\n\n try {\n const renderAndCheckPromises = [\n getDataFromTree(\n <AppTree\n {...appProps}\n Component={_Component}\n router={router}\n apolloClient={apolloClient}\n />\n ),\n requestApp.openQueryChecker.checkOpenQueries()\n ];\n // race is so that if getDataFromTree gets stuck the checkOpenQueries will resolve when outstanding queries are done\n await Promise.race(renderAndCheckPromises);\n } catch (error) {\n errorProps = getErrorMessage(error);\n if (errorProps.errorCode) ctx.res.statusCode = errorProps.errorCode;\n ctx.blazeApp.events.emit('monitor:log', { error });\n requestApp.log.error('Error while running `getDataFromTree`', error);\n }\n\n const apolloState = apolloClient.cache.extract();\n const sortedState = Object.keys(apolloState)\n .sort()\n .reduce((acc, key) => {\n acc[key] = apolloState[key];\n return acc;\n }, {});\n\n return {\n ...mainProps,\n pageProps: { ...mainProps.pageProps, ...errorProps },\n apolloState: sortedState,\n processedBlazeEntities: blazeApp.getProcessedEntities()\n };\n }\n\n constructor(props) {\n super(props);\n this.apolloClient = props.apolloClient;\n this.state = {\n appLoaded: isSsr || blazeApp.initComplete()\n };\n this.blazeApp = blazeApp;\n }\n\n async componentDidMount() {\n if (blazeApp.initComplete()) return;\n\n await blazeApp.init();\n\n this.setState({\n appLoaded: blazeApp.initComplete()\n });\n }\n\n setApolloClient() {\n if (!this.apolloClient) {\n const { apolloState, processedBlazeEntities } = this.props;\n this.apolloClient = blazeApp.createClient(apolloState, processedBlazeEntities);\n setupCheckAccessToken(this.apolloClient);\n }\n }\n\n render() {\n const { appLoaded } = this.state;\n\n if (!appLoaded && !isSsr) return '...loading';\n\n this.setApolloClient();\n\n return (\n <ErrorBoundary app={this.blazeApp}>\n <App {...this.props} apolloClient={this.apolloClient} />\n </ErrorBoundary>\n );\n }\n };\n}\n\nconst withBlaze = (App, buildConfig, { forceSsr = false } = {}) => {\n const isSsr = forceSsr || typeof window === 'undefined';\n const config = buildConfig ? buildConfig(blazeConfig) : blazeConfig;\n const blazeApp = getBlazeUi({ config, logNameSpace: APP_LOG_NAMESPACE_MAIN });\n blazeApp.init();\n\n return getWrappedApp(isSsr, config, blazeApp, App);\n};\n\nexport default withBlaze;\n"],"mappings":"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"}
|
package/lib-es/hoc/withBlaze.js
CHANGED
|
@@ -57,11 +57,13 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
|
|
|
57
57
|
});
|
|
58
58
|
if (!isSsr) return mainProps;
|
|
59
59
|
try {
|
|
60
|
-
|
|
60
|
+
const renderAndCheckPromises = [getDataFromTree( /*#__PURE__*/React.createElement(AppTree, _extends({}, appProps, {
|
|
61
61
|
Component: _Component,
|
|
62
62
|
router: router,
|
|
63
63
|
apolloClient: apolloClient
|
|
64
|
-
})));
|
|
64
|
+
}))), requestApp.openQueryChecker.checkOpenQueries()];
|
|
65
|
+
// race is so that if getDataFromTree gets stuck the checkOpenQueries will resolve when outstanding queries are done
|
|
66
|
+
await Promise.race(renderAndCheckPromises);
|
|
65
67
|
} catch (error) {
|
|
66
68
|
errorProps = getErrorMessage(error);
|
|
67
69
|
if (errorProps.errorCode) ctx.res.statusCode = errorProps.errorCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withBlaze.js","names":["React","Component","getDataFromTree","getBlazeUi","setupCheckAccessToken","PropTypes","dynamic","blazeConfig","getErrorMessage","ErrorBoundary","APP_LOG_NAMESPACE_MAIN","getWrappedApp","isSsr","config","blazeApp","App","_class","getApolloClient","ctx","requestApp","apolloClient","getClient","createClient","getRequestApp","getInitialProps","context","_Component","router","AppTree","appProps","errorProps","req","res","init","events","emit","pageProps","mainProps","_objectSpread","createElement","_extends","error","errorCode","statusCode","log","apolloState","cache","extract","sortedState","Object","keys","sort","reduce","acc","key","processedBlazeEntities","getProcessedEntities","constructor","props","state","appLoaded","initComplete","componentDidMount","setState","setApolloClient","render","app","_defineProperty","object","undefined","withBlaze","buildConfig","forceSsr","window","logNameSpace"],"sources":["../../src/hoc/withBlaze.js"],"sourcesContent":["// see: https://github.com/zeit/next.js/blob/canary/examples/with-apollo-auth/lib/withApollo.js\nimport React, { Component } from 'react';\nimport { getDataFromTree } from '@apollo/client/react/ssr';\nimport getBlazeUi from '@blaze-cms/core-ui';\nimport { setupCheckAccessToken } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport dynamic from 'next/dynamic'; // Next.js dynamic\nimport blazeConfig from '../blaze.config';\nimport { getErrorMessage } from '../helpers';\n\nconst ErrorBoundary = dynamic(() => import('@blaze-cms/core-errors-ui'));\n\nconst APP_LOG_NAMESPACE_MAIN = 'main';\n\nfunction getWrappedApp(isSsr, config, blazeApp, App) {\n function getApolloClient(ctx, requestApp) {\n return ctx.apolloClient || requestApp.getClient() || requestApp.createClient();\n }\n\n function getRequestApp(requestApp) {\n return !requestApp && isSsr ? getBlazeUi({ config }) : blazeApp;\n }\n return class extends Component {\n static displayName = 'withBlaze(App)';\n\n static propTypes = {\n apolloState: PropTypes.object,\n apolloClient: PropTypes.object,\n processedBlazeEntities: PropTypes.object\n };\n\n static defaultProps = {\n apolloState: {},\n apolloClient: null,\n processedBlazeEntities: undefined\n };\n\n static async getInitialProps(context) {\n const { Component: _Component, router, AppTree, ctx } = context;\n let appProps = {};\n let errorProps = {};\n\n let requestApp = ctx.blazeApp;\n requestApp = getRequestApp(requestApp);\n\n requestApp.ctx.router = router;\n requestApp.ctx.req = ctx.req;\n requestApp.ctx.res = ctx.res;\n\n await blazeApp.init();\n await requestApp.init();\n\n const apolloClient = getApolloClient(ctx, requestApp);\n\n ctx.apolloClient = apolloClient;\n ctx.blazeApp = requestApp;\n\n requestApp.events.emit('page-load:get-initial-props:before', { ctx });\n\n if (App.getInitialProps) {\n appProps = await App.getInitialProps(context);\n }\n\n const { pageProps = {} } = appProps;\n const mainProps = {\n ...appProps,\n pageProps: { ...pageProps, ...errorProps }\n };\n\n if (!isSsr) return mainProps;\n\n try {\n await getDataFromTree(\n <AppTree\n {...appProps}\n Component={_Component}\n router={router}\n apolloClient={apolloClient}\n />\n );\n } catch (error) {\n errorProps = getErrorMessage(error);\n if (errorProps.errorCode) ctx.res.statusCode = errorProps.errorCode;\n ctx.blazeApp.events.emit('monitor:log', { error });\n requestApp.log.error('Error while running `getDataFromTree`', error);\n }\n\n const apolloState = apolloClient.cache.extract();\n const sortedState = Object.keys(apolloState)\n .sort()\n .reduce((acc, key) => {\n acc[key] = apolloState[key];\n return acc;\n }, {});\n\n return {\n ...mainProps,\n pageProps: { ...mainProps.pageProps, ...errorProps },\n apolloState: sortedState,\n processedBlazeEntities: blazeApp.getProcessedEntities()\n };\n }\n\n constructor(props) {\n super(props);\n this.apolloClient = props.apolloClient;\n this.state = {\n appLoaded: isSsr || blazeApp.initComplete()\n };\n this.blazeApp = blazeApp;\n }\n\n async componentDidMount() {\n if (blazeApp.initComplete()) return;\n\n await blazeApp.init();\n\n this.setState({\n appLoaded: blazeApp.initComplete()\n });\n }\n\n setApolloClient() {\n if (!this.apolloClient) {\n const { apolloState, processedBlazeEntities } = this.props;\n this.apolloClient = blazeApp.createClient(apolloState, processedBlazeEntities);\n setupCheckAccessToken(this.apolloClient);\n }\n }\n\n render() {\n const { appLoaded } = this.state;\n\n if (!appLoaded && !isSsr) return '...loading';\n\n this.setApolloClient();\n\n return (\n <ErrorBoundary app={this.blazeApp}>\n <App {...this.props} apolloClient={this.apolloClient} />\n </ErrorBoundary>\n );\n }\n };\n}\n\nconst withBlaze = (App, buildConfig, { forceSsr = false } = {}) => {\n const isSsr = forceSsr || typeof window === 'undefined';\n const config = buildConfig ? buildConfig(blazeConfig) : blazeConfig;\n const blazeApp = getBlazeUi({ config, logNameSpace: APP_LOG_NAMESPACE_MAIN });\n blazeApp.init();\n\n return getWrappedApp(isSsr, config, blazeApp, App);\n};\n\nexport default withBlaze;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"withBlaze.js","names":["React","Component","getDataFromTree","getBlazeUi","setupCheckAccessToken","PropTypes","dynamic","blazeConfig","getErrorMessage","ErrorBoundary","APP_LOG_NAMESPACE_MAIN","getWrappedApp","isSsr","config","blazeApp","App","_class","getApolloClient","ctx","requestApp","apolloClient","getClient","createClient","getRequestApp","getInitialProps","context","_Component","router","AppTree","appProps","errorProps","req","res","init","events","emit","pageProps","mainProps","_objectSpread","renderAndCheckPromises","createElement","_extends","openQueryChecker","checkOpenQueries","Promise","race","error","errorCode","statusCode","log","apolloState","cache","extract","sortedState","Object","keys","sort","reduce","acc","key","processedBlazeEntities","getProcessedEntities","constructor","props","state","appLoaded","initComplete","componentDidMount","setState","setApolloClient","render","app","_defineProperty","object","undefined","withBlaze","buildConfig","forceSsr","window","logNameSpace"],"sources":["../../src/hoc/withBlaze.js"],"sourcesContent":["// see: https://github.com/zeit/next.js/blob/canary/examples/with-apollo-auth/lib/withApollo.js\nimport React, { Component } from 'react';\nimport { getDataFromTree } from '@apollo/client/react/ssr';\nimport getBlazeUi from '@blaze-cms/core-ui';\nimport { setupCheckAccessToken } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport dynamic from 'next/dynamic'; // Next.js dynamic\nimport blazeConfig from '../blaze.config';\nimport { getErrorMessage } from '../helpers';\n\nconst ErrorBoundary = dynamic(() => import('@blaze-cms/core-errors-ui'));\n\nconst APP_LOG_NAMESPACE_MAIN = 'main';\n\nfunction getWrappedApp(isSsr, config, blazeApp, App) {\n function getApolloClient(ctx, requestApp) {\n return ctx.apolloClient || requestApp.getClient() || requestApp.createClient();\n }\n\n function getRequestApp(requestApp) {\n return !requestApp && isSsr ? getBlazeUi({ config }) : blazeApp;\n }\n return class extends Component {\n static displayName = 'withBlaze(App)';\n\n static propTypes = {\n apolloState: PropTypes.object,\n apolloClient: PropTypes.object,\n processedBlazeEntities: PropTypes.object\n };\n\n static defaultProps = {\n apolloState: {},\n apolloClient: null,\n processedBlazeEntities: undefined\n };\n\n static async getInitialProps(context) {\n const { Component: _Component, router, AppTree, ctx } = context;\n let appProps = {};\n let errorProps = {};\n\n let requestApp = ctx.blazeApp;\n requestApp = getRequestApp(requestApp);\n\n requestApp.ctx.router = router;\n requestApp.ctx.req = ctx.req;\n requestApp.ctx.res = ctx.res;\n\n await blazeApp.init();\n await requestApp.init();\n\n const apolloClient = getApolloClient(ctx, requestApp);\n\n ctx.apolloClient = apolloClient;\n ctx.blazeApp = requestApp;\n\n requestApp.events.emit('page-load:get-initial-props:before', { ctx });\n\n if (App.getInitialProps) {\n appProps = await App.getInitialProps(context);\n }\n\n const { pageProps = {} } = appProps;\n const mainProps = {\n ...appProps,\n pageProps: { ...pageProps, ...errorProps }\n };\n\n if (!isSsr) return mainProps;\n\n try {\n const renderAndCheckPromises = [\n getDataFromTree(\n <AppTree\n {...appProps}\n Component={_Component}\n router={router}\n apolloClient={apolloClient}\n />\n ),\n requestApp.openQueryChecker.checkOpenQueries()\n ];\n // race is so that if getDataFromTree gets stuck the checkOpenQueries will resolve when outstanding queries are done\n await Promise.race(renderAndCheckPromises);\n } catch (error) {\n errorProps = getErrorMessage(error);\n if (errorProps.errorCode) ctx.res.statusCode = errorProps.errorCode;\n ctx.blazeApp.events.emit('monitor:log', { error });\n requestApp.log.error('Error while running `getDataFromTree`', error);\n }\n\n const apolloState = apolloClient.cache.extract();\n const sortedState = Object.keys(apolloState)\n .sort()\n .reduce((acc, key) => {\n acc[key] = apolloState[key];\n return acc;\n }, {});\n\n return {\n ...mainProps,\n pageProps: { ...mainProps.pageProps, ...errorProps },\n apolloState: sortedState,\n processedBlazeEntities: blazeApp.getProcessedEntities()\n };\n }\n\n constructor(props) {\n super(props);\n this.apolloClient = props.apolloClient;\n this.state = {\n appLoaded: isSsr || blazeApp.initComplete()\n };\n this.blazeApp = blazeApp;\n }\n\n async componentDidMount() {\n if (blazeApp.initComplete()) return;\n\n await blazeApp.init();\n\n this.setState({\n appLoaded: blazeApp.initComplete()\n });\n }\n\n setApolloClient() {\n if (!this.apolloClient) {\n const { apolloState, processedBlazeEntities } = this.props;\n this.apolloClient = blazeApp.createClient(apolloState, processedBlazeEntities);\n setupCheckAccessToken(this.apolloClient);\n }\n }\n\n render() {\n const { appLoaded } = this.state;\n\n if (!appLoaded && !isSsr) return '...loading';\n\n this.setApolloClient();\n\n return (\n <ErrorBoundary app={this.blazeApp}>\n <App {...this.props} apolloClient={this.apolloClient} />\n </ErrorBoundary>\n );\n }\n };\n}\n\nconst withBlaze = (App, buildConfig, { forceSsr = false } = {}) => {\n const isSsr = forceSsr || typeof window === 'undefined';\n const config = buildConfig ? buildConfig(blazeConfig) : blazeConfig;\n const blazeApp = getBlazeUi({ config, logNameSpace: APP_LOG_NAMESPACE_MAIN });\n blazeApp.init();\n\n return getWrappedApp(isSsr, config, blazeApp, App);\n};\n\nexport default withBlaze;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/nextjs-tools",
|
|
3
|
-
"version": "0.129.0
|
|
3
|
+
"version": "0.129.0",
|
|
4
4
|
"description": "Blaze nextjs tools",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -28,20 +28,20 @@
|
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@apollo/client": "3.5.x",
|
|
31
|
-
"@blaze-cms/core-auth-ui": "0.129.0
|
|
32
|
-
"@blaze-cms/core-errors": "0.
|
|
33
|
-
"@blaze-cms/core-errors-ui": "0.
|
|
34
|
-
"@blaze-cms/core-ui": "0.129.0
|
|
35
|
-
"@blaze-cms/nextjs-components": "0.
|
|
36
|
-
"@blaze-cms/plugin-auth-fe": "0.129.0
|
|
37
|
-
"@blaze-cms/plugin-auth-local-fe": "0.129.0
|
|
38
|
-
"@blaze-cms/plugin-google-maps-fe": "0.129.0
|
|
39
|
-
"@blaze-cms/plugin-gtm-fe": "0.129.0
|
|
40
|
-
"@blaze-cms/plugin-page-builder-fe": "0.129.0
|
|
41
|
-
"@blaze-cms/plugin-preview-fe": "0.129.0
|
|
42
|
-
"@blaze-cms/plugin-search-ui": "0.129.0
|
|
43
|
-
"@blaze-cms/react-page-builder": "0.129.0
|
|
44
|
-
"@blaze-cms/setup-ui": "0.
|
|
31
|
+
"@blaze-cms/core-auth-ui": "^0.129.0",
|
|
32
|
+
"@blaze-cms/core-errors": "^0.127.0",
|
|
33
|
+
"@blaze-cms/core-errors-ui": "^0.128.1",
|
|
34
|
+
"@blaze-cms/core-ui": "^0.129.0",
|
|
35
|
+
"@blaze-cms/nextjs-components": "^0.128.1",
|
|
36
|
+
"@blaze-cms/plugin-auth-fe": "^0.129.0",
|
|
37
|
+
"@blaze-cms/plugin-auth-local-fe": "^0.129.0",
|
|
38
|
+
"@blaze-cms/plugin-google-maps-fe": "^0.129.0",
|
|
39
|
+
"@blaze-cms/plugin-gtm-fe": "^0.129.0",
|
|
40
|
+
"@blaze-cms/plugin-page-builder-fe": "^0.129.0",
|
|
41
|
+
"@blaze-cms/plugin-preview-fe": "^0.129.0",
|
|
42
|
+
"@blaze-cms/plugin-search-ui": "^0.129.0",
|
|
43
|
+
"@blaze-cms/react-page-builder": "^0.129.0",
|
|
44
|
+
"@blaze-cms/setup-ui": "^0.128.1",
|
|
45
45
|
"autoprefixer": "^10.2.3",
|
|
46
46
|
"core-js": "^3.2.1",
|
|
47
47
|
"cross-fetch": "^3.0.2",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"lib/*",
|
|
69
69
|
"lib-es/*"
|
|
70
70
|
],
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "43e8a5d929313c50f8edb27358da7278299ce6c6"
|
|
72
72
|
}
|
package/src/hoc/withBlaze.js
CHANGED
|
@@ -70,14 +70,19 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
|
|
|
70
70
|
if (!isSsr) return mainProps;
|
|
71
71
|
|
|
72
72
|
try {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
const renderAndCheckPromises = [
|
|
74
|
+
getDataFromTree(
|
|
75
|
+
<AppTree
|
|
76
|
+
{...appProps}
|
|
77
|
+
Component={_Component}
|
|
78
|
+
router={router}
|
|
79
|
+
apolloClient={apolloClient}
|
|
80
|
+
/>
|
|
81
|
+
),
|
|
82
|
+
requestApp.openQueryChecker.checkOpenQueries()
|
|
83
|
+
];
|
|
84
|
+
// race is so that if getDataFromTree gets stuck the checkOpenQueries will resolve when outstanding queries are done
|
|
85
|
+
await Promise.race(renderAndCheckPromises);
|
|
81
86
|
} catch (error) {
|
|
82
87
|
errorProps = getErrorMessage(error);
|
|
83
88
|
if (errorProps.errorCode) ctx.res.statusCode = errorProps.errorCode;
|
|
@@ -27,6 +27,9 @@ jest.mock('@blaze-cms/core-ui', () => {
|
|
|
27
27
|
},
|
|
28
28
|
log: {
|
|
29
29
|
error: jest.fn()
|
|
30
|
+
},
|
|
31
|
+
openQueryChecker: {
|
|
32
|
+
checkOpenQueries: jest.fn(() => new Promise(resolve => setTimeout(resolve, 1000)))
|
|
30
33
|
}
|
|
31
34
|
};
|
|
32
35
|
return jest.fn(() => mockBlaze);
|
|
@@ -65,7 +68,7 @@ describe('withBlaze HOC', () => {
|
|
|
65
68
|
res: { ...defaultRes }
|
|
66
69
|
}
|
|
67
70
|
};
|
|
68
|
-
const errorMessage = 'render
|
|
71
|
+
const errorMessage = 'render message';
|
|
69
72
|
|
|
70
73
|
beforeEach(() => {
|
|
71
74
|
jest.clearAllMocks();
|
|
@@ -128,6 +131,7 @@ describe('withBlaze HOC', () => {
|
|
|
128
131
|
router,
|
|
129
132
|
apolloClient: blazeMock.createClient()
|
|
130
133
|
});
|
|
134
|
+
expect(blazeMock.openQueryChecker.checkOpenQueries).toHaveBeenCalled();
|
|
131
135
|
expect(blazeMock.events.emit).toHaveBeenCalledWith('page-load:get-initial-props:before', {
|
|
132
136
|
ctx: context.ctx
|
|
133
137
|
});
|