@blaze-cms/nextjs-tools 0.146.0-core-styles.43 → 0.146.0-node18.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.
Files changed (104) hide show
  1. package/CHANGELOG.md +16 -178
  2. package/README.md +9 -8
  3. package/example.env +1 -1
  4. package/lib/application/query/index.js.map +1 -1
  5. package/lib/blaze.config.js.map +1 -1
  6. package/lib/components/DebugSidebar/index.js +3 -3
  7. package/lib/components/DebugSidebar/index.js.map +1 -1
  8. package/lib/components/index.js.map +1 -1
  9. package/lib/constants.js.map +1 -1
  10. package/lib/containers/ContentContainer.js +7 -7
  11. package/lib/containers/ContentContainer.js.map +1 -1
  12. package/lib/containers/index.js.map +1 -1
  13. package/lib/helpers/build-admin-href.js +1 -1
  14. package/lib/helpers/build-admin-href.js.map +1 -1
  15. package/lib/helpers/check-for-gtm.js +4 -4
  16. package/lib/helpers/check-for-gtm.js.map +1 -1
  17. package/lib/helpers/check-parent.js.map +1 -1
  18. package/lib/helpers/check-preview-url.js.map +1 -1
  19. package/lib/helpers/check-url.js +28 -21
  20. package/lib/helpers/check-url.js.map +1 -1
  21. package/lib/helpers/get-entitys-actions.js.map +1 -1
  22. package/lib/helpers/get-error-message.js.map +1 -1
  23. package/lib/helpers/get-page-data.js +6 -6
  24. package/lib/helpers/get-page-data.js.map +1 -1
  25. package/lib/helpers/get-root-selector-classes.js +3 -3
  26. package/lib/helpers/get-root-selector-classes.js.map +1 -1
  27. package/lib/helpers/get-search-filter.js +3 -3
  28. package/lib/helpers/get-search-filter.js.map +1 -1
  29. package/lib/helpers/handle-static-routes.js +10 -10
  30. package/lib/helpers/handle-static-routes.js.map +1 -1
  31. package/lib/helpers/index.js.map +1 -1
  32. package/lib/helpers/render-apple-tags.js +1 -0
  33. package/lib/helpers/render-apple-tags.js.map +1 -1
  34. package/lib/helpers/set-blaze-debug.js.map +1 -1
  35. package/lib/helpers/static-route-handlers/generic-file-handler.js +2 -2
  36. package/lib/helpers/static-route-handlers/generic-file-handler.js.map +1 -1
  37. package/lib/helpers/static-route-handlers/index.js +2 -2
  38. package/lib/helpers/static-route-handlers/index.js.map +1 -1
  39. package/lib/helpers/static-route-handlers/robots-txt.js.map +1 -1
  40. package/lib/helpers/static-route-handlers/sitemap-file.js.map +1 -1
  41. package/lib/helpers/static-route-handlers/sitemap.js.map +1 -1
  42. package/lib/hoc/withBlaze.js +23 -24
  43. package/lib/hoc/withBlaze.js.map +1 -1
  44. package/lib/hooks/use-get-page.js.map +1 -1
  45. package/lib/index.js +3 -10
  46. package/lib/index.js.map +1 -1
  47. package/lib/pages/Resolver.js +3 -3
  48. package/lib/pages/Resolver.js.map +1 -1
  49. package/lib/pages/document/DocumentBody.js.map +1 -1
  50. package/lib/pages/document/_document.js +6 -8
  51. package/lib/pages/document/_document.js.map +1 -1
  52. package/lib/server/index.js +8 -7
  53. package/lib/server/index.js.map +1 -1
  54. package/lib/server/routes.js.map +1 -1
  55. package/lib-es/application/query/index.js.map +1 -1
  56. package/lib-es/blaze.config.js.map +1 -1
  57. package/lib-es/components/DebugSidebar/index.js.map +1 -1
  58. package/lib-es/components/index.js.map +1 -1
  59. package/lib-es/constants.js.map +1 -1
  60. package/lib-es/containers/ContentContainer.js.map +1 -1
  61. package/lib-es/containers/index.js.map +1 -1
  62. package/lib-es/helpers/build-admin-href.js.map +1 -1
  63. package/lib-es/helpers/check-for-gtm.js.map +1 -1
  64. package/lib-es/helpers/check-parent.js.map +1 -1
  65. package/lib-es/helpers/check-preview-url.js.map +1 -1
  66. package/lib-es/helpers/check-url.js +5 -2
  67. package/lib-es/helpers/check-url.js.map +1 -1
  68. package/lib-es/helpers/get-entitys-actions.js.map +1 -1
  69. package/lib-es/helpers/get-error-message.js.map +1 -1
  70. package/lib-es/helpers/get-page-data.js.map +1 -1
  71. package/lib-es/helpers/get-root-selector-classes.js.map +1 -1
  72. package/lib-es/helpers/get-search-filter.js.map +1 -1
  73. package/lib-es/helpers/handle-static-routes.js.map +1 -1
  74. package/lib-es/helpers/index.js.map +1 -1
  75. package/lib-es/helpers/render-apple-tags.js.map +1 -1
  76. package/lib-es/helpers/set-blaze-debug.js.map +1 -1
  77. package/lib-es/helpers/static-route-handlers/generic-file-handler.js.map +1 -1
  78. package/lib-es/helpers/static-route-handlers/index.js.map +1 -1
  79. package/lib-es/helpers/static-route-handlers/robots-txt.js.map +1 -1
  80. package/lib-es/helpers/static-route-handlers/sitemap-file.js.map +1 -1
  81. package/lib-es/helpers/static-route-handlers/sitemap.js.map +1 -1
  82. package/lib-es/hoc/withBlaze.js +6 -6
  83. package/lib-es/hoc/withBlaze.js.map +1 -1
  84. package/lib-es/hooks/use-get-page.js.map +1 -1
  85. package/lib-es/index.js +1 -1
  86. package/lib-es/index.js.map +1 -1
  87. package/lib-es/pages/Resolver.js.map +1 -1
  88. package/lib-es/pages/document/DocumentBody.js.map +1 -1
  89. package/lib-es/pages/document/_document.js +2 -5
  90. package/lib-es/pages/document/_document.js.map +1 -1
  91. package/lib-es/server/index.js +5 -4
  92. package/lib-es/server/index.js.map +1 -1
  93. package/lib-es/server/routes.js.map +1 -1
  94. package/package.json +26 -26
  95. package/src/components/DebugSidebar/index.js +5 -8
  96. package/src/helpers/check-url.js +6 -4
  97. package/src/index.js +1 -1
  98. package/src/pages/Resolver.js +1 -1
  99. package/src/pages/document/_document.js +2 -1
  100. package/src/server/index.js +5 -4
  101. package/tests/helpers/tests/static-file-handler-tests.js +7 -11
  102. package/tests/unit/src/components/DebugSidebar/__snapshots__/DebugSidebar.test.js.snap +3 -0
  103. package/tests/unit/src/helpers/handle-static-routes.test.js +1 -1
  104. package/tests/unit/src/hoc/withBlaze.test.js +6 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/nextjs-tools",
3
- "version": "0.146.0-core-styles.43",
3
+ "version": "0.146.0-node18.0",
4
4
  "description": "Blaze nextjs tools",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -10,15 +10,15 @@
10
10
  },
11
11
  "scripts": {
12
12
  "test": "jest",
13
- "lint": "yarn run lint:js",
13
+ "lint": "npm run lint:js",
14
14
  "lint:js": "eslint .",
15
15
  "clean": "rm -Rf ./lib/ && rm -Rf ./lib-es/",
16
16
  "build:cjs": "BABEL_ENV=cjs ../../node_modules/.bin/babel ./src --out-dir ./lib --source-maps --root-mode upward",
17
17
  "build:esm": "BABEL_ENV=esm ../../node_modules/.bin/babel ./src --out-dir ./lib-es --source-maps --root-mode upward",
18
- "build": "yarn run build:cjs && yarn run build:esm",
19
- "build:clean": "yarn run clean && yarn run build",
20
- "prepublishOnly": "yarn run build:clean",
21
- "postpublish": "yarn run clean"
18
+ "build": "npm run build:cjs && npm run build:esm",
19
+ "build:clean": "npm run clean && npm run build",
20
+ "prepublishOnly": "npm run build:clean",
21
+ "postpublish": "npm run clean"
22
22
  },
23
23
  "author": {
24
24
  "email": "hello@thebyte9.com",
@@ -27,26 +27,26 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@apollo/client": "3.5.x",
31
- "@blaze-cms/core-auth-ui": "0.146.0-core-styles.41",
32
- "@blaze-cms/core-errors": "0.146.0-core-styles.41",
33
- "@blaze-cms/core-errors-ui": "0.145.1-core-styles.0",
34
- "@blaze-cms/core-ui": "0.146.0-core-styles.41",
35
- "@blaze-cms/nextjs-components": "0.146.0-core-styles.42",
36
- "@blaze-cms/plugin-auth-fe": "0.146.0-core-styles.41",
37
- "@blaze-cms/plugin-auth-local-fe": "0.146.0-core-styles.41",
38
- "@blaze-cms/plugin-google-maps-fe": "0.146.0-core-styles.43",
39
- "@blaze-cms/plugin-gtm-fe": "0.146.0-core-styles.43",
40
- "@blaze-cms/plugin-page-builder-fe": "0.146.0-core-styles.43",
41
- "@blaze-cms/plugin-preview-fe": "0.146.0-core-styles.41",
42
- "@blaze-cms/plugin-search-ui": "0.146.0-core-styles.41",
43
- "@blaze-cms/plugin-structured-data-fe": "0.145.1-core-styles.0",
44
- "@blaze-cms/react-page-builder": "0.146.0-core-styles.43",
45
- "@blaze-cms/setup-ui": "0.145.1-core-styles.0",
30
+ "@apollo/client": "^3.9.2",
31
+ "@blaze-cms/core-auth-ui": "0.146.0-node18.0",
32
+ "@blaze-cms/core-errors": "0.146.0-node18.0",
33
+ "@blaze-cms/core-errors-ui": "0.146.0-node18.0",
34
+ "@blaze-cms/core-ui": "0.146.0-node18.0",
35
+ "@blaze-cms/nextjs-components": "0.146.0-node18.0",
36
+ "@blaze-cms/plugin-auth-fe": "0.146.0-node18.0",
37
+ "@blaze-cms/plugin-auth-local-fe": "0.146.0-node18.0",
38
+ "@blaze-cms/plugin-google-maps-fe": "0.146.0-node18.0",
39
+ "@blaze-cms/plugin-gtm-fe": "0.146.0-node18.0",
40
+ "@blaze-cms/plugin-page-builder-fe": "0.146.0-node18.0",
41
+ "@blaze-cms/plugin-preview-fe": "0.146.0-node18.0",
42
+ "@blaze-cms/plugin-search-ui": "0.146.0-node18.0",
43
+ "@blaze-cms/plugin-structured-data-fe": "0.146.0-node18.0",
44
+ "@blaze-cms/react-page-builder": "0.146.0-node18.0",
45
+ "@blaze-cms/setup-ui": "0.146.0-node18.0",
46
46
  "autoprefixer": "^10.2.3",
47
47
  "core-js": "^3.2.1",
48
48
  "cross-fetch": "^3.0.2",
49
- "graphql": "^16.2.0",
49
+ "graphql": "^15.2.0",
50
50
  "jsonwebtoken": "^8.5.1",
51
51
  "nextjs-dynamic-routes": "^2.5.1",
52
52
  "postcss": "8.2.8",
@@ -58,9 +58,9 @@
58
58
  "sass": "1.32.8"
59
59
  },
60
60
  "peerDependencies": {
61
- "next": "12.x",
61
+ "next": "14.1.0",
62
62
  "prop-types": "^15.7.2",
63
- "react": "^17.0.2"
63
+ "react": "^18.2.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "nock": "^13.0.5"
@@ -69,5 +69,5 @@
69
69
  "lib/*",
70
70
  "lib-es/*"
71
71
  ],
72
- "gitHead": "a59ac0d9940f1e6022d9b832c468953a602b892c"
72
+ "gitHead": "c60370714e89e0c96f2169d61e4c56bc542f7686"
73
73
  }
@@ -10,14 +10,11 @@ const DebugSidebar = ({ itemEntity, itemId, debugMode }) => {
10
10
  const [isDebugMode, setIsDebugMode] = useState(debugMode);
11
11
  const [isOpen, setIsOpen] = useState(true);
12
12
 
13
- useEffect(
14
- () => {
15
- if (debugMode === true) {
16
- setIsDebugMode(debugMode);
17
- } else setBlazeDebug(setIsDebugMode);
18
- },
19
- [debugMode]
20
- );
13
+ useEffect(() => {
14
+ if (debugMode === true) {
15
+ setIsDebugMode(debugMode);
16
+ } else setBlazeDebug(setIsDebugMode);
17
+ }, [debugMode]);
21
18
 
22
19
  const divClass = classnames('debug-sidebar', {
23
20
  'debug-sidebar--open': isOpen,
@@ -6,7 +6,8 @@ import {
6
6
  DOUBLE_SLASH,
7
7
  COLON,
8
8
  NOT_FOUND_STATUS_CODE,
9
- BLAZE_X_FRAME_OPTIONS_DEFAULT
9
+ BLAZE_X_FRAME_OPTIONS_DEFAULT,
10
+ ROUTE_REGEX
10
11
  } from '../constants';
11
12
  import { checkUrlQuery } from '../application/query';
12
13
  import checkParent from './check-parent';
@@ -15,7 +16,7 @@ import handleStaticRoutes from './handle-static-routes';
15
16
  import getPageData from './get-page-data';
16
17
  import getRootSelectorClasses from './get-root-selector-classes';
17
18
 
18
- const getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT || 1);
19
+ const getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);
19
20
 
20
21
  const checkUrl = async props => {
21
22
  const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;
@@ -89,6 +90,9 @@ const getFullUrl = (req, asPath) => {
89
90
 
90
91
  const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {
91
92
  try {
93
+ if (!ROUTE_REGEX.test(url)) {
94
+ throw Error('Invalid URL');
95
+ }
92
96
  const {
93
97
  data: {
94
98
  checkUrl: { itemId, itemEntity, urlTo, pageData = {} }
@@ -99,7 +103,6 @@ const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blaz
99
103
  url
100
104
  }
101
105
  });
102
-
103
106
  const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page
104
107
  if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
105
108
  res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);
@@ -136,7 +139,6 @@ const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blaz
136
139
 
137
140
  const handleError = (err, res, handle404Error, blazeApp) => {
138
141
  blazeApp.events.emit('monitor:log', { error: err });
139
-
140
142
  if (!res) return {};
141
143
  if (err.networkError) {
142
144
  res.writeHead(500, { 'Content-Type': 'text/plain' });
package/src/index.js CHANGED
@@ -6,4 +6,4 @@ export { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';
6
6
  export { default as withBlaze } from './hoc/withBlaze';
7
7
  export { default as Resolver } from './pages/Resolver';
8
8
  export { default as BlazeDocument } from './pages/document/_document';
9
- export { default as router } from './server/routes';
9
+ // export { default as router } from './server/routes';
@@ -35,6 +35,7 @@ const Resolver = props => {
35
35
  if (url.hash) url.searchParams.set('_h', Date.now());
36
36
  asPath = url;
37
37
  }
38
+
38
39
  router.push('/Resolver', asPath);
39
40
  }
40
41
  return '';
@@ -56,7 +57,6 @@ const Resolver = props => {
56
57
  isPreview={isPreview}
57
58
  fullUrl={fullUrl}
58
59
  />
59
-
60
60
  <DebugSidebar itemId={itemId} itemEntity={itemEntity} />
61
61
  </div>
62
62
  );
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Document, { Html, Head } from 'next/document';
4
+ // import Head from 'next/head';
4
5
  import DocumentBody from './DocumentBody';
5
6
  import { renderAppleTags } from '../../helpers';
6
7
 
7
8
  const BlazeDocument = ({ children }) => (
8
9
  <Html lang="en">
9
10
  <Head>
10
- <link rel="icon" href="/static/img/favicon.png" type="image/x-icon" />
11
+ {/* <link rel="icon" href="/static/img/favicon.png" type="image/x-icon" /> */}
11
12
  {renderAppleTags()}
12
13
  </Head>
13
14
  {children}
@@ -1,12 +1,13 @@
1
1
  const { createServer } = require('http');
2
- const Router = require('./routes');
3
2
 
4
3
  const port = parseInt(process.env.PORT, 10) || 3000;
5
4
 
6
- async function prepareServer(nextApp) {
7
- const handler = Router.getRequestHandler(nextApp);
5
+ async function prepareServer(app) {
6
+ // eslint-disable-next-line no-console
7
+ console.warn('server.js is deprecated. Run directly with "next" cli instead.');
8
+ const handler = app.getRequestHandler();
8
9
 
9
- await nextApp.prepare();
10
+ await app.prepare();
10
11
 
11
12
  return { run: () => createServer(handler).listen(port), handler };
12
13
  }
@@ -39,14 +39,12 @@ export const getStaticFileHandlerTests = (staticHandler, asPath, getVariables) =
39
39
  });
40
40
 
41
41
  describe('Standard', () => {
42
- const scope = nock(host)
43
- .get(path)
44
- .reply(200, responseText, {
45
- etag,
46
- 'content-length': contentLength,
47
- 'last-modified': lastModified,
48
- 'other-header': 'header'
49
- });
42
+ const scope = nock(host).get(path).reply(200, responseText, {
43
+ etag,
44
+ 'content-length': contentLength,
45
+ 'last-modified': lastModified,
46
+ 'other-header': 'header'
47
+ });
50
48
 
51
49
  beforeAll(async () => {
52
50
  await handler({ apolloClient, res, asPath });
@@ -82,9 +80,7 @@ export const getStaticFileHandlerTests = (staticHandler, asPath, getVariables) =
82
80
  });
83
81
 
84
82
  it('should not set headers if not present in file request', async () => {
85
- const scopeNoHeaders = nock(host)
86
- .get(path)
87
- .reply(200, responseText);
83
+ const scopeNoHeaders = nock(host).get(path).reply(200, responseText);
88
84
  res.setHeader.mockClear();
89
85
  await handler({ apolloClient, res, asPath });
90
86
  expect(scopeNoHeaders.isDone()).toEqual(true);
@@ -9,6 +9,9 @@ exports[`DebugSidebar component should render without throwing error (isDebugMod
9
9
  <a
10
10
  aria-label="Blaze admin"
11
11
  href="/"
12
+ />
13
+ <a
14
+ href="/"
12
15
  >
13
16
  <img
14
17
  alt="blaze-logo"
@@ -5,7 +5,7 @@ import { ROUTE_PATTERN_SITEMAP } from '../../../../src/constants';
5
5
  import { handler } from '../../../../src/helpers/static-route-handlers/sitemap';
6
6
 
7
7
  jest.mock('../../../../src/helpers/static-route-handlers/sitemap', () => ({
8
- pattern: new RegExp('/sitemap.xml'),
8
+ pattern: /\/sitemap.xml/,
9
9
  handler: jest.fn(async () => 'Sitemap content')
10
10
  }));
11
11
 
@@ -29,7 +29,12 @@ jest.mock('@blaze-cms/core-ui', () => {
29
29
  error: jest.fn()
30
30
  },
31
31
  openQueryChecker: {
32
- checkOpenQueries: jest.fn(() => new Promise(resolve => setTimeout(resolve, 1000)))
32
+ checkOpenQueries: jest.fn(
33
+ () =>
34
+ new Promise(resolve => {
35
+ setTimeout(resolve, 1000);
36
+ })
37
+ )
33
38
  }
34
39
  };
35
40
  return jest.fn(() => mockBlaze);
@@ -77,17 +82,12 @@ describe('withBlaze HOC', () => {
77
82
  context.ctx.res = { ...defaultRes };
78
83
  });
79
84
 
80
- it('should be defined', () => {
81
- expect(withBlaze).toBeDefined();
82
- });
83
-
84
85
  it('should wrap component and use buildConfig function', async () => {
85
86
  const AppWithBlaze = withBlaze(App);
86
87
  const { asFragment, queryByText } = render(<AppWithBlaze {...props} />);
87
88
 
88
89
  await waitFor(() => expect(queryByText(appString)).toBeDefined());
89
90
 
90
- expect(App).toHaveBeenCalledWith(...expectedProps);
91
91
  expect(blazeMock.init).toHaveBeenCalledTimes(1);
92
92
  expect(blazeMock.initComplete).toHaveBeenCalledTimes(2);
93
93