@blaze-cms/nextjs-tools 0.129.0-admin-updates.2 → 0.129.0-alpha.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 CHANGED
@@ -3,7 +3,18 @@
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-admin-updates.2](https://github.com/thebyte9/blaze/compare/v0.129.0-admin-updates.1...v0.129.0-admin-updates.2) (2023-04-27)
6
+ # [0.129.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.128.2...v0.129.0-alpha.0) (2023-05-10)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * 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))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.128.1](https://github.com/thebyte9/blaze/compare/v0.128.1-alpha.0...v0.128.1) (2023-04-14)
7
18
 
8
19
  **Note:** Version bump only for package @blaze-cms/nextjs-tools
9
20
 
@@ -11,7 +22,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
22
 
12
23
 
13
24
 
14
- # [0.129.0-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.128.0...v0.129.0-admin-updates.0) (2023-04-17)
25
+ ## [0.128.1-alpha.0](https://github.com/thebyte9/blaze/compare/v0.128.0-alpha.4...v0.128.1-alpha.0) (2023-04-14)
15
26
 
16
27
  **Note:** Version bump only for package @blaze-cms/nextjs-tools
17
28
 
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;
@@ -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
- _context2.next = 27;
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
- case 27:
189
- _context2.next = 35;
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 29:
192
- _context2.prev = 29;
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 35:
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 38:
212
+ case 39:
212
213
  case "end":
213
214
  return _context2.stop();
214
215
  }
215
- }, _callee2, null, [[24, 29]]);
216
+ }, _callee2, null, [[24, 30]]);
216
217
  }));
217
218
  function getInitialProps(_x) {
218
219
  return _getInitialProps.apply(this, arguments);
@@ -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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"}
@@ -57,11 +57,13 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
57
57
  });
58
58
  if (!isSsr) return mainProps;
59
59
  try {
60
- await getDataFromTree( /*#__PURE__*/React.createElement(AppTree, _extends({}, appProps, {
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-admin-updates.2",
3
+ "version": "0.129.0-alpha.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-admin-updates.2",
32
- "@blaze-cms/core-errors": "0.128.0-admin-updates.0",
33
- "@blaze-cms/core-errors-ui": "0.129.0-admin-updates.2",
34
- "@blaze-cms/core-ui": "0.129.0-admin-updates.2",
35
- "@blaze-cms/nextjs-components": "0.129.0-admin-updates.2",
36
- "@blaze-cms/plugin-auth-fe": "0.129.0-admin-updates.2",
37
- "@blaze-cms/plugin-auth-local-fe": "0.129.0-admin-updates.2",
38
- "@blaze-cms/plugin-google-maps-fe": "0.129.0-admin-updates.2",
39
- "@blaze-cms/plugin-gtm-fe": "0.129.0-admin-updates.2",
40
- "@blaze-cms/plugin-page-builder-fe": "0.129.0-admin-updates.2",
41
- "@blaze-cms/plugin-preview-fe": "0.129.0-admin-updates.2",
42
- "@blaze-cms/plugin-search-ui": "0.129.0-admin-updates.2",
43
- "@blaze-cms/react-page-builder": "0.129.0-admin-updates.2",
44
- "@blaze-cms/setup-ui": "0.129.0-admin-updates.0",
31
+ "@blaze-cms/core-auth-ui": "^0.128.1",
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-alpha.0",
35
+ "@blaze-cms/nextjs-components": "^0.128.1",
36
+ "@blaze-cms/plugin-auth-fe": "0.129.0-alpha.0",
37
+ "@blaze-cms/plugin-auth-local-fe": "0.129.0-alpha.0",
38
+ "@blaze-cms/plugin-google-maps-fe": "0.129.0-alpha.0",
39
+ "@blaze-cms/plugin-gtm-fe": "0.129.0-alpha.0",
40
+ "@blaze-cms/plugin-page-builder-fe": "0.129.0-alpha.0",
41
+ "@blaze-cms/plugin-preview-fe": "0.129.0-alpha.0",
42
+ "@blaze-cms/plugin-search-ui": "0.129.0-alpha.0",
43
+ "@blaze-cms/react-page-builder": "0.129.0-alpha.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": "70a1f2e5150cbcc3c9351ae5bfdc6315edff87cb"
71
+ "gitHead": "b0c01f40c595f0a9373f8d62cdedb05e41eb5895"
72
72
  }
@@ -70,14 +70,19 @@ function getWrappedApp(isSsr, config, blazeApp, App) {
70
70
  if (!isSsr) return mainProps;
71
71
 
72
72
  try {
73
- await getDataFromTree(
74
- <AppTree
75
- {...appProps}
76
- Component={_Component}
77
- router={router}
78
- apolloClient={apolloClient}
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 nessage';
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
  });