@sitecore-content-sdk/nextjs 1.3.0-canary.9 → 1.4.0-canary.2

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 (234) hide show
  1. package/README.md +11 -11
  2. package/dist/cjs/client/index.js +10 -10
  3. package/dist/cjs/client/models.js +2 -2
  4. package/dist/cjs/client/sitecore-nextjs-client.js +160 -156
  5. package/dist/cjs/components/BYOCWrapper.js +31 -30
  6. package/dist/cjs/components/ComponentPropsContext.js +66 -59
  7. package/dist/cjs/components/FEaaSWrapper.js +33 -32
  8. package/dist/cjs/components/Link.js +117 -90
  9. package/dist/cjs/components/NextImage.js +66 -62
  10. package/dist/cjs/components/Placeholder.js +55 -50
  11. package/dist/cjs/components/RichText.js +133 -128
  12. package/dist/cjs/config/define-config.js +26 -25
  13. package/dist/cjs/config/index.js +5 -5
  14. package/dist/cjs/config-cli/define-cli-config.js +40 -39
  15. package/dist/cjs/config-cli/index.js +5 -5
  16. package/dist/cjs/editing/codegen/import-map.js +129 -118
  17. package/dist/cjs/editing/codegen/index.js +6 -6
  18. package/dist/cjs/editing/constants.js +10 -10
  19. package/dist/cjs/editing/editing-config-middleware.js +70 -69
  20. package/dist/cjs/editing/editing-render-middleware.js +145 -144
  21. package/dist/cjs/editing/feaas-render-middleware.js +102 -101
  22. package/dist/cjs/editing/index.js +19 -19
  23. package/dist/cjs/editing/render-middleware.js +46 -46
  24. package/dist/cjs/editing/utils.js +260 -257
  25. package/dist/cjs/index.js +132 -131
  26. package/dist/cjs/middleware/app-router-multisite-middleware.js +41 -20
  27. package/dist/cjs/middleware/index.js +30 -30
  28. package/dist/cjs/middleware/locale-middleware.js +85 -84
  29. package/dist/cjs/middleware/middleware.js +195 -192
  30. package/dist/cjs/middleware/multisite-middleware.js +141 -118
  31. package/dist/cjs/middleware/personalize-middleware.js +240 -236
  32. package/dist/cjs/middleware/redirects-middleware.js +323 -297
  33. package/dist/cjs/middleware/robots-middleware.js +45 -44
  34. package/dist/cjs/middleware/sitemap-middleware.js +50 -49
  35. package/dist/cjs/monitoring/healthcheck-middleware.js +31 -30
  36. package/dist/cjs/monitoring/index.js +5 -5
  37. package/dist/cjs/route-handler/editing-config-route-handler.js +110 -106
  38. package/dist/cjs/route-handler/editing-render-route-handler.js +270 -165
  39. package/dist/cjs/route-handler/index.js +11 -11
  40. package/dist/cjs/route-handler/robots-route-handler.js +69 -68
  41. package/dist/cjs/route-handler/sitemap-route-handler.js +66 -65
  42. package/dist/cjs/search/index.js +17 -0
  43. package/dist/cjs/services/component-props-service.js +142 -138
  44. package/dist/cjs/sharedTypes/component-props.js +2 -2
  45. package/dist/cjs/sharedTypes/sitecore-page-props.js +2 -2
  46. package/dist/cjs/site/index.js +5 -5
  47. package/dist/cjs/tools/codegen/import-map.js +15 -0
  48. package/dist/cjs/tools/component-props.loader.js +95 -95
  49. package/dist/cjs/tools/generate-map.js +317 -317
  50. package/dist/cjs/tools/index.js +14 -13
  51. package/dist/cjs/tools/templating/byoc-component.js +36 -36
  52. package/dist/cjs/tools/templating/constants.js +7 -7
  53. package/dist/cjs/tools/templating/default-component.js +35 -35
  54. package/dist/cjs/tools/templating/utils.js +200 -0
  55. package/dist/cjs/utils/index.js +14 -14
  56. package/dist/cjs/utils/utils.js +82 -73
  57. package/dist/esm/client/index.js +2 -2
  58. package/dist/esm/client/models.js +1 -1
  59. package/dist/esm/client/sitecore-nextjs-client.js +156 -152
  60. package/dist/esm/components/BYOCWrapper.js +27 -26
  61. package/dist/esm/components/ComponentPropsContext.js +28 -21
  62. package/dist/esm/components/FEaaSWrapper.js +29 -28
  63. package/dist/esm/components/Link.js +78 -51
  64. package/dist/esm/components/NextImage.js +60 -56
  65. package/dist/esm/components/Placeholder.js +18 -13
  66. package/dist/esm/components/RichText.js +96 -91
  67. package/dist/esm/config/define-config.js +21 -20
  68. package/dist/esm/config/index.js +1 -1
  69. package/dist/esm/config-cli/define-cli-config.js +36 -35
  70. package/dist/esm/config-cli/index.js +1 -1
  71. package/dist/esm/editing/codegen/import-map.js +92 -81
  72. package/dist/esm/editing/codegen/index.js +1 -1
  73. package/dist/esm/editing/constants.js +7 -7
  74. package/dist/esm/editing/editing-config-middleware.js +66 -65
  75. package/dist/esm/editing/editing-render-middleware.js +141 -140
  76. package/dist/esm/editing/feaas-render-middleware.js +98 -97
  77. package/dist/esm/editing/index.js +6 -6
  78. package/dist/esm/editing/render-middleware.js +42 -42
  79. package/dist/esm/editing/utils.js +246 -243
  80. package/dist/esm/index.js +25 -25
  81. package/dist/esm/middleware/app-router-multisite-middleware.js +37 -16
  82. package/dist/esm/middleware/index.js +11 -11
  83. package/dist/esm/middleware/locale-middleware.js +81 -80
  84. package/dist/esm/middleware/middleware.js +189 -186
  85. package/dist/esm/middleware/multisite-middleware.js +137 -114
  86. package/dist/esm/middleware/personalize-middleware.js +236 -232
  87. package/dist/esm/middleware/redirects-middleware.js +316 -290
  88. package/dist/esm/middleware/robots-middleware.js +41 -40
  89. package/dist/esm/middleware/sitemap-middleware.js +46 -45
  90. package/dist/esm/monitoring/healthcheck-middleware.js +27 -26
  91. package/dist/esm/monitoring/index.js +1 -1
  92. package/dist/esm/route-handler/editing-config-route-handler.js +106 -102
  93. package/dist/esm/route-handler/editing-render-route-handler.js +265 -160
  94. package/dist/esm/route-handler/index.js +4 -4
  95. package/dist/esm/route-handler/robots-route-handler.js +65 -64
  96. package/dist/esm/route-handler/sitemap-route-handler.js +63 -62
  97. package/dist/esm/search/index.js +1 -0
  98. package/dist/esm/services/component-props-service.js +135 -131
  99. package/dist/esm/sharedTypes/component-props.js +1 -1
  100. package/dist/esm/sharedTypes/sitecore-page-props.js +1 -1
  101. package/dist/esm/site/index.js +1 -1
  102. package/dist/esm/tools/codegen/import-map.js +11 -0
  103. package/dist/esm/tools/component-props.loader.js +59 -59
  104. package/dist/esm/tools/generate-map.js +279 -279
  105. package/dist/esm/tools/index.js +3 -2
  106. package/dist/esm/tools/templating/byoc-component.js +30 -30
  107. package/dist/esm/tools/templating/constants.js +4 -4
  108. package/dist/esm/tools/templating/default-component.js +29 -29
  109. package/dist/esm/tools/templating/utils.js +190 -0
  110. package/dist/esm/utils/index.js +3 -3
  111. package/dist/esm/utils/utils.js +74 -65
  112. package/package.json +87 -13
  113. package/search.d.ts +1 -0
  114. package/types/client/index.d.ts +3 -2
  115. package/types/client/index.d.ts.map +1 -0
  116. package/types/client/models.d.ts +9 -8
  117. package/types/client/models.d.ts.map +1 -0
  118. package/types/client/sitecore-nextjs-client.d.ts +68 -63
  119. package/types/client/sitecore-nextjs-client.d.ts.map +1 -0
  120. package/types/components/BYOCWrapper.d.ts +16 -14
  121. package/types/components/BYOCWrapper.d.ts.map +1 -0
  122. package/types/components/ComponentPropsContext.d.ts +30 -18
  123. package/types/components/ComponentPropsContext.d.ts.map +1 -0
  124. package/types/components/FEaaSWrapper.d.ts +17 -15
  125. package/types/components/FEaaSWrapper.d.ts.map +1 -0
  126. package/types/components/Link.d.ts +25 -15
  127. package/types/components/Link.d.ts.map +1 -0
  128. package/types/components/NextImage.d.ts +11 -6
  129. package/types/components/NextImage.d.ts.map +1 -0
  130. package/types/components/Placeholder.d.ts +14 -8
  131. package/types/components/Placeholder.d.ts.map +1 -0
  132. package/types/components/RichText.d.ts +35 -25
  133. package/types/components/RichText.d.ts.map +1 -0
  134. package/types/config/define-config.d.ts +42 -38
  135. package/types/config/define-config.d.ts.map +1 -0
  136. package/types/config/index.d.ts +2 -1
  137. package/types/config/index.d.ts.map +1 -0
  138. package/types/config-cli/define-cli-config.d.ts +10 -8
  139. package/types/config-cli/define-cli-config.d.ts.map +1 -0
  140. package/types/config-cli/index.d.ts +2 -1
  141. package/types/config-cli/index.d.ts.map +1 -0
  142. package/types/editing/codegen/import-map.d.ts +15 -3
  143. package/types/editing/codegen/import-map.d.ts.map +1 -0
  144. package/types/editing/codegen/index.d.ts +3 -2
  145. package/types/editing/codegen/index.d.ts.map +1 -0
  146. package/types/editing/constants.d.ts +8 -7
  147. package/types/editing/constants.d.ts.map +1 -0
  148. package/types/editing/editing-config-middleware.d.ts +37 -31
  149. package/types/editing/editing-config-middleware.d.ts.map +1 -0
  150. package/types/editing/editing-render-middleware.d.ts +47 -44
  151. package/types/editing/editing-render-middleware.d.ts.map +1 -0
  152. package/types/editing/feaas-render-middleware.d.ts +35 -32
  153. package/types/editing/feaas-render-middleware.d.ts.map +1 -0
  154. package/types/editing/index.d.ts +7 -6
  155. package/types/editing/index.d.ts.map +1 -0
  156. package/types/editing/render-middleware.d.ts +26 -25
  157. package/types/editing/render-middleware.d.ts.map +1 -0
  158. package/types/editing/utils.d.ts +110 -106
  159. package/types/editing/utils.d.ts.map +1 -0
  160. package/types/index.d.ts +25 -24
  161. package/types/index.d.ts.map +1 -0
  162. package/types/middleware/app-router-multisite-middleware.d.ts +28 -13
  163. package/types/middleware/app-router-multisite-middleware.d.ts.map +1 -0
  164. package/types/middleware/index.d.ts +12 -11
  165. package/types/middleware/index.d.ts.map +1 -0
  166. package/types/middleware/locale-middleware.d.ts +35 -32
  167. package/types/middleware/locale-middleware.d.ts.map +1 -0
  168. package/types/middleware/middleware.d.ts +135 -127
  169. package/types/middleware/middleware.d.ts.map +1 -0
  170. package/types/middleware/multisite-middleware.d.ts +54 -37
  171. package/types/middleware/multisite-middleware.d.ts.map +1 -0
  172. package/types/middleware/personalize-middleware.d.ts +81 -65
  173. package/types/middleware/personalize-middleware.d.ts.map +1 -0
  174. package/types/middleware/redirects-middleware.d.ts +68 -65
  175. package/types/middleware/redirects-middleware.d.ts.map +1 -0
  176. package/types/middleware/robots-middleware.d.ts +15 -13
  177. package/types/middleware/robots-middleware.d.ts.map +1 -0
  178. package/types/middleware/sitemap-middleware.d.ts +16 -14
  179. package/types/middleware/sitemap-middleware.d.ts.map +1 -0
  180. package/types/monitoring/healthcheck-middleware.d.ts +14 -12
  181. package/types/monitoring/healthcheck-middleware.d.ts.map +1 -0
  182. package/types/monitoring/index.d.ts +2 -1
  183. package/types/monitoring/index.d.ts.map +1 -0
  184. package/types/route-handler/editing-config-route-handler.d.ts +30 -24
  185. package/types/route-handler/editing-config-route-handler.d.ts.map +1 -0
  186. package/types/route-handler/editing-render-route-handler.d.ts +33 -25
  187. package/types/route-handler/editing-render-route-handler.d.ts.map +1 -0
  188. package/types/route-handler/index.d.ts +5 -4
  189. package/types/route-handler/index.d.ts.map +1 -0
  190. package/types/route-handler/robots-route-handler.d.ts +30 -28
  191. package/types/route-handler/robots-route-handler.d.ts.map +1 -0
  192. package/types/route-handler/sitemap-route-handler.d.ts +30 -28
  193. package/types/route-handler/sitemap-route-handler.d.ts.map +1 -0
  194. package/types/search/index.d.ts +2 -0
  195. package/types/search/index.d.ts.map +1 -0
  196. package/types/services/component-props-service.d.ts +62 -57
  197. package/types/services/component-props-service.d.ts.map +1 -0
  198. package/types/sharedTypes/component-props.d.ts +62 -47
  199. package/types/sharedTypes/component-props.d.ts.map +1 -0
  200. package/types/sharedTypes/sitecore-page-props.d.ts +14 -9
  201. package/types/sharedTypes/sitecore-page-props.d.ts.map +1 -0
  202. package/types/site/index.d.ts +2 -1
  203. package/types/site/index.d.ts.map +1 -0
  204. package/types/tools/codegen/import-map.d.ts +10 -0
  205. package/types/tools/codegen/import-map.d.ts.map +1 -0
  206. package/types/tools/component-props.loader.d.ts +8 -7
  207. package/types/tools/component-props.loader.d.ts.map +1 -0
  208. package/types/tools/generate-map.d.ts +26 -24
  209. package/types/tools/generate-map.d.ts.map +1 -0
  210. package/types/tools/index.d.ts +4 -2
  211. package/types/tools/index.d.ts.map +1 -0
  212. package/types/tools/templating/byoc-component.d.ts +3 -2
  213. package/types/tools/templating/byoc-component.d.ts.map +1 -0
  214. package/types/tools/templating/constants.d.ts +5 -4
  215. package/types/tools/templating/constants.d.ts.map +1 -0
  216. package/types/tools/templating/default-component.d.ts +3 -2
  217. package/types/tools/templating/default-component.d.ts.map +1 -0
  218. package/types/tools/templating/utils.d.ts +44 -0
  219. package/types/tools/templating/utils.d.ts.map +1 -0
  220. package/types/utils/index.d.ts +4 -3
  221. package/types/utils/index.d.ts.map +1 -0
  222. package/types/utils/utils.d.ts +34 -24
  223. package/types/utils/utils.d.ts.map +1 -0
  224. package/client.js +0 -1
  225. package/codegen.js +0 -1
  226. package/config-cli.js +0 -1
  227. package/config.js +0 -1
  228. package/editing.js +0 -1
  229. package/middleware.js +0 -1
  230. package/monitoring.js +0 -1
  231. package/route-handler.js +0 -1
  232. package/site.js +0 -1
  233. package/tools.js +0 -1
  234. package/utils.js +0 -1
@@ -1,44 +1,45 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RobotsMiddleware = void 0;
13
- const site_1 = require("../site");
14
- /**
15
- * Middleware for handling robots.txt requests in a Next.js application.
16
- */
17
- class RobotsMiddleware {
18
- constructor(client, sites) {
19
- this.client = client;
20
- this.siteResolver = new site_1.SiteResolver(sites);
21
- }
22
- getHandler() {
23
- return this.handler.bind(this);
24
- }
25
- handler(req, res) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- var _a;
28
- res.setHeader('Content-Type', 'text/plain');
29
- const hostName = ((_a = req.headers.host) === null || _a === void 0 ? void 0 : _a.split(':')[0]) || 'localhost';
30
- const site = this.siteResolver.getByHost(hostName);
31
- try {
32
- const robotsContent = yield this.client.getRobots(site.name);
33
- if (!robotsContent) {
34
- return res.status(404).send('User-agent: *\nDisallow: /');
35
- }
36
- res.status(200).send(robotsContent);
37
- }
38
- catch (_b) {
39
- res.status(500).send('Internal Server Error');
40
- }
41
- });
42
- }
43
- }
44
- exports.RobotsMiddleware = RobotsMiddleware;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RobotsMiddleware = void 0;
13
+ const site_1 = require("../site");
14
+ /**
15
+ * Middleware for handling robots.txt requests in a Next.js application.
16
+ * @public
17
+ */
18
+ class RobotsMiddleware {
19
+ constructor(client, sites) {
20
+ this.client = client;
21
+ this.siteResolver = new site_1.SiteResolver(sites);
22
+ }
23
+ getHandler() {
24
+ return this.handler.bind(this);
25
+ }
26
+ handler(req, res) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ var _a;
29
+ res.setHeader('Content-Type', 'text/plain');
30
+ const hostName = ((_a = req.headers.host) === null || _a === void 0 ? void 0 : _a.split(':')[0]) || 'localhost';
31
+ const site = this.siteResolver.getByHost(hostName);
32
+ try {
33
+ const robotsContent = yield this.client.getRobots(site.name);
34
+ if (!robotsContent) {
35
+ return res.status(404).send('User-agent: *\nDisallow: /');
36
+ }
37
+ res.status(200).send(robotsContent);
38
+ }
39
+ catch (_b) {
40
+ res.status(500).send('Internal Server Error');
41
+ }
42
+ });
43
+ }
44
+ }
45
+ exports.RobotsMiddleware = RobotsMiddleware;
@@ -1,49 +1,50 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SitemapMiddleware = void 0;
13
- const site_1 = require("../site");
14
- /**
15
- * Middleware for handling sitemap requests in a Next.js application.
16
- * Encapsulates all HTTP-related logic for sitemap generation and delivery.
17
- */
18
- class SitemapMiddleware {
19
- constructor(client, sites) {
20
- this.client = client;
21
- this.siteResolver = new site_1.SiteResolver(sites);
22
- }
23
- getHandler() {
24
- return this.handler.bind(this);
25
- }
26
- handler(req, res) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- const id = Array.isArray(req.query.id) ? req.query.id[0] : req.query.id;
29
- const reqHost = req.headers.host || '';
30
- const reqProtocol = req.headers['x-forwarded-proto'] || 'https';
31
- const site = this.siteResolver.getByHost(reqHost);
32
- const options = { reqHost, reqProtocol, id, siteName: site.name };
33
- try {
34
- const xmlContent = yield this.client.getSiteMap(options);
35
- res.setHeader('Content-Type', 'text/xml;charset=utf-8');
36
- res.send(xmlContent);
37
- }
38
- catch (error) {
39
- if (error instanceof Error && error.message === 'REDIRECT_404') {
40
- res.redirect('/404');
41
- }
42
- else {
43
- res.status(500).send('Internal Server Error');
44
- }
45
- }
46
- });
47
- }
48
- }
49
- exports.SitemapMiddleware = SitemapMiddleware;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SitemapMiddleware = void 0;
13
+ const site_1 = require("../site");
14
+ /**
15
+ * Middleware for handling sitemap requests in a Next.js application.
16
+ * Encapsulates all HTTP-related logic for sitemap generation and delivery.
17
+ * @public
18
+ */
19
+ class SitemapMiddleware {
20
+ constructor(client, sites) {
21
+ this.client = client;
22
+ this.siteResolver = new site_1.SiteResolver(sites);
23
+ }
24
+ getHandler() {
25
+ return this.handler.bind(this);
26
+ }
27
+ handler(req, res) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const id = Array.isArray(req.query.id) ? req.query.id[0] : req.query.id;
30
+ const reqHost = req.headers.host || '';
31
+ const reqProtocol = req.headers['x-forwarded-proto'] || 'https';
32
+ const site = this.siteResolver.getByHost(reqHost);
33
+ const options = { reqHost, reqProtocol, id, siteName: site.name };
34
+ try {
35
+ const xmlContent = yield this.client.getSiteMap(options);
36
+ res.setHeader('Content-Type', 'text/xml;charset=utf-8');
37
+ res.send(xmlContent);
38
+ }
39
+ catch (error) {
40
+ if (error instanceof Error && error.message === 'REDIRECT_404') {
41
+ res.redirect('/404');
42
+ }
43
+ else {
44
+ res.status(500).send('Internal Server Error');
45
+ }
46
+ }
47
+ });
48
+ }
49
+ }
50
+ exports.SitemapMiddleware = SitemapMiddleware;
@@ -1,30 +1,31 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.HealthcheckMiddleware = void 0;
13
- /**
14
- * Middleware / handler for use in healthcheck Next.js API route (e.g. '/api/healthz').
15
- */
16
- class HealthcheckMiddleware {
17
- constructor() {
18
- this.handler = (_req, res) => __awaiter(this, void 0, void 0, function* () {
19
- res.status(200).send('Healthy');
20
- });
21
- }
22
- /**
23
- * Gets the Next.js API route handler
24
- * @returns route handler
25
- */
26
- getHandler() {
27
- return this.handler;
28
- }
29
- }
30
- exports.HealthcheckMiddleware = HealthcheckMiddleware;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HealthcheckMiddleware = void 0;
13
+ /**
14
+ * Middleware / handler for use in healthcheck Next.js API route (e.g. '/api/healthz').
15
+ * @public
16
+ */
17
+ class HealthcheckMiddleware {
18
+ constructor() {
19
+ this.handler = (_req, res) => __awaiter(this, void 0, void 0, function* () {
20
+ res.status(200).send('Healthy');
21
+ });
22
+ }
23
+ /**
24
+ * Gets the Next.js API route handler
25
+ * @returns route handler
26
+ */
27
+ getHandler() {
28
+ return this.handler;
29
+ }
30
+ }
31
+ exports.HealthcheckMiddleware = HealthcheckMiddleware;
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HealthcheckMiddleware = void 0;
4
- var healthcheck_middleware_1 = require("./healthcheck-middleware");
5
- Object.defineProperty(exports, "HealthcheckMiddleware", { enumerable: true, get: function () { return healthcheck_middleware_1.HealthcheckMiddleware; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HealthcheckMiddleware = void 0;
4
+ var healthcheck_middleware_1 = require("./healthcheck-middleware");
5
+ Object.defineProperty(exports, "HealthcheckMiddleware", { enumerable: true, get: function () { return healthcheck_middleware_1.HealthcheckMiddleware; } });
@@ -1,106 +1,110 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createEditingConfigRouteHandler = void 0;
13
- const editing_1 = require("@sitecore-content-sdk/core/editing");
14
- const core_1 = require("@sitecore-content-sdk/core");
15
- const utils_1 = require("@sitecore-content-sdk/core/utils");
16
- const layout_1 = require("@sitecore-content-sdk/core/layout");
17
- const utils_2 = require("../utils/utils");
18
- /**
19
- * Creates a route handler for the editing config API route (e.g. '/api/editing/config')
20
- * Provides configuration information to determine feature compatibility on Pages side.
21
- * @param {EditingConfigRouteHandlerOptions} options - The options for the route handler.
22
- * @returns The route handler with GET and OPTIONS methods.
23
- */
24
- const createEditingConfigRouteHandler = (options) => {
25
- const { components, metadata } = options;
26
- const validateRequest = (req) => {
27
- const secret = req.nextUrl.searchParams.get(editing_1.QUERY_PARAM_EDITING_SECRET);
28
- const corsHeaders = (0, utils_1.getEnforcedCorsHeaders)({
29
- requestMethod: req.method,
30
- headers: req.headers,
31
- presetCorsHeader: undefined,
32
- allowedOrigins: editing_1.EDITING_ALLOWED_ORIGINS,
33
- });
34
- return { secret, corsHeaders };
35
- };
36
- const GET = (req) => __awaiter(void 0, void 0, void 0, function* () {
37
- try {
38
- const startTimestamp = Date.now();
39
- core_1.debug.editing('editing config route handler start');
40
- const { secret, corsHeaders } = validateRequest(req);
41
- if (!corsHeaders) {
42
- core_1.debug.editing('invalid origin host - set allowed origins in JSS_ALLOWED_ORIGINS environment variable');
43
- return new Response(JSON.stringify({ message: 'Invalid origin' }), {
44
- status: 401,
45
- headers: {
46
- 'Content-Type': 'application/json',
47
- },
48
- });
49
- }
50
- if (secret !== (0, utils_2.getEditingSecret)()) {
51
- core_1.debug.editing('invalid editing secret - sent "%s" expected "%s"', secret, (0, utils_2.getEditingSecret)());
52
- return new Response(JSON.stringify({ message: 'Missing or invalid editing secret' }), {
53
- status: 401,
54
- headers: Object.assign({ 'Content-Type': 'application/json' }, corsHeaders),
55
- });
56
- }
57
- const componentNames = Array.from(components.keys());
58
- const responseData = {
59
- components: componentNames,
60
- packages: metadata.packages,
61
- editMode: layout_1.EditMode.Metadata,
62
- };
63
- core_1.debug.editing('editing config route handler end in %dms', Date.now() - startTimestamp);
64
- return new Response(JSON.stringify(responseData), {
65
- status: 200,
66
- headers: Object.assign({ 'Content-Type': 'application/json' }, corsHeaders),
67
- });
68
- }
69
- catch (error) {
70
- console.log('Editing config route handler failed:');
71
- console.log(error);
72
- return new Response('Internal Server Error', {
73
- status: 500,
74
- });
75
- }
76
- });
77
- const OPTIONS = (req) => __awaiter(void 0, void 0, void 0, function* () {
78
- try {
79
- core_1.debug.editing('preflight request');
80
- const { corsHeaders } = validateRequest(req);
81
- if (!corsHeaders) {
82
- core_1.debug.editing('invalid origin host - set allowed origins in JSS_ALLOWED_ORIGINS environment variable');
83
- return new Response(JSON.stringify({ message: 'Invalid origin' }), {
84
- status: 401,
85
- headers: {
86
- 'Content-Type': 'application/json',
87
- },
88
- });
89
- }
90
- // CORS headers are set by corsHeaders
91
- return new Response(null, {
92
- status: 204,
93
- headers: corsHeaders,
94
- });
95
- }
96
- catch (error) {
97
- console.log('Editing config OPTIONS route handler failed:');
98
- console.log(error);
99
- return new Response('Internal Server Error', {
100
- status: 500,
101
- });
102
- }
103
- });
104
- return { GET, OPTIONS };
105
- };
106
- exports.createEditingConfigRouteHandler = createEditingConfigRouteHandler;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createEditingConfigRouteHandler = void 0;
13
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
14
+ const core_1 = require("@sitecore-content-sdk/core");
15
+ const utils_1 = require("@sitecore-content-sdk/core/utils");
16
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
17
+ const utils_2 = require("../utils/utils");
18
+ /**
19
+ * Creates a route handler for the editing config API route (e.g. '/api/editing/config')
20
+ * Provides configuration information to determine feature compatibility on Pages side.
21
+ * @param {EditingConfigRouteHandlerOptions} options - The options for the route handler.
22
+ * @returns The route handler with GET and OPTIONS methods.
23
+ * @public
24
+ */
25
+ const createEditingConfigRouteHandler = (options) => {
26
+ const { components, metadata, clientComponents } = options;
27
+ const validateRequest = (req) => {
28
+ const secret = req.nextUrl.searchParams.get(editing_1.QUERY_PARAM_EDITING_SECRET);
29
+ const corsHeaders = (0, utils_1.getEnforcedCorsHeaders)({
30
+ requestMethod: req.method,
31
+ headers: req.headers,
32
+ presetCorsHeader: undefined,
33
+ allowedOrigins: editing_1.EDITING_ALLOWED_ORIGINS,
34
+ });
35
+ return { secret, corsHeaders };
36
+ };
37
+ const GET = (req) => __awaiter(void 0, void 0, void 0, function* () {
38
+ try {
39
+ const startTimestamp = Date.now();
40
+ core_1.debug.editing('editing config route handler start');
41
+ const { secret, corsHeaders } = validateRequest(req);
42
+ if (!corsHeaders) {
43
+ core_1.debug.editing('invalid origin host - set allowed origins in JSS_ALLOWED_ORIGINS environment variable');
44
+ return new Response(JSON.stringify({ message: 'Invalid origin' }), {
45
+ status: 401,
46
+ headers: {
47
+ 'Content-Type': 'application/json',
48
+ },
49
+ });
50
+ }
51
+ if (secret !== (0, utils_2.getEditingSecret)()) {
52
+ core_1.debug.editing('invalid editing secret - sent "%s" expected "%s"', secret, (0, utils_2.getEditingSecret)());
53
+ return new Response(JSON.stringify({ message: 'Missing or invalid editing secret' }), {
54
+ status: 401,
55
+ headers: Object.assign({ 'Content-Type': 'application/json' }, corsHeaders),
56
+ });
57
+ }
58
+ const componentNames = Array.from(components.keys());
59
+ const clientComponentNames = clientComponents ? Array.from(clientComponents.keys()) : [];
60
+ const responseData = {
61
+ framework: 'nextjs-approuter',
62
+ components: componentNames,
63
+ clientComponents: clientComponentNames,
64
+ packages: metadata.packages,
65
+ editMode: layout_1.EditMode.Metadata,
66
+ };
67
+ core_1.debug.editing('editing config route handler end in %dms', Date.now() - startTimestamp);
68
+ return new Response(JSON.stringify(responseData), {
69
+ status: 200,
70
+ headers: Object.assign({ 'Content-Type': 'application/json' }, corsHeaders),
71
+ });
72
+ }
73
+ catch (error) {
74
+ console.log('Editing config route handler failed:');
75
+ console.log(error);
76
+ return new Response('Internal Server Error', {
77
+ status: 500,
78
+ });
79
+ }
80
+ });
81
+ const OPTIONS = (req) => __awaiter(void 0, void 0, void 0, function* () {
82
+ try {
83
+ core_1.debug.editing('preflight request');
84
+ const { corsHeaders } = validateRequest(req);
85
+ if (!corsHeaders) {
86
+ core_1.debug.editing('invalid origin host - set allowed origins in JSS_ALLOWED_ORIGINS environment variable');
87
+ return new Response(JSON.stringify({ message: 'Invalid origin' }), {
88
+ status: 401,
89
+ headers: {
90
+ 'Content-Type': 'application/json',
91
+ },
92
+ });
93
+ }
94
+ // CORS headers are set by corsHeaders
95
+ return new Response(null, {
96
+ status: 204,
97
+ headers: corsHeaders,
98
+ });
99
+ }
100
+ catch (error) {
101
+ console.log('Editing config OPTIONS route handler failed:');
102
+ console.log(error);
103
+ return new Response('Internal Server Error', {
104
+ status: 500,
105
+ });
106
+ }
107
+ });
108
+ return { GET, OPTIONS };
109
+ };
110
+ exports.createEditingConfigRouteHandler = createEditingConfigRouteHandler;