@makeswift/runtime 0.23.12-canary.5 → 0.23.13

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 (76) hide show
  1. package/dist/cjs/next/api-handler/handlers/clear-draft.js +64 -0
  2. package/dist/cjs/next/api-handler/handlers/clear-draft.js.map +1 -0
  3. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  4. package/dist/cjs/next/api-handler/handlers/redirect-draft.js +77 -0
  5. package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +1 -0
  6. package/dist/cjs/next/api-handler/handlers/redirect-preview.js +67 -0
  7. package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -0
  8. package/dist/cjs/next/api-handler/handlers/utils/draft.js +53 -0
  9. package/dist/cjs/next/api-handler/handlers/utils/draft.js.map +1 -0
  10. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js +2 -4
  11. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  12. package/dist/cjs/next/cache.js +29 -0
  13. package/dist/cjs/next/cache.js.map +1 -0
  14. package/dist/cjs/next/client.js +2 -2
  15. package/dist/cjs/next/client.js.map +1 -1
  16. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js +72 -0
  17. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  18. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js +79 -0
  19. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  20. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +67 -0
  21. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  22. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js +45 -0
  23. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  24. package/dist/cjs/state/makeswift-api-client.js +2 -2
  25. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  26. package/dist/esm/next/api-handler/handlers/clear-draft.js +50 -0
  27. package/dist/esm/next/api-handler/handlers/clear-draft.js.map +1 -0
  28. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  29. package/dist/esm/next/api-handler/handlers/redirect-draft.js +63 -0
  30. package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +1 -0
  31. package/dist/esm/next/api-handler/handlers/redirect-preview.js +53 -0
  32. package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -0
  33. package/dist/esm/next/api-handler/handlers/utils/draft.js +24 -0
  34. package/dist/esm/next/api-handler/handlers/utils/draft.js.map +1 -0
  35. package/dist/esm/next/api-handler/handlers/webhook/site-published.js +1 -2
  36. package/dist/esm/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  37. package/dist/esm/next/cache.js +5 -0
  38. package/dist/esm/next/cache.js.map +1 -0
  39. package/dist/esm/next/client.js +1 -1
  40. package/dist/esm/next/client.js.map +1 -1
  41. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js +48 -0
  42. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  43. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js +55 -0
  44. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  45. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +43 -0
  46. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  47. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js +21 -0
  48. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  49. package/dist/esm/state/makeswift-api-client.js +1 -1
  50. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  51. package/dist/types/locale.d.ts +1 -1
  52. package/dist/types/next/api-handler/handlers/clear-draft.d.ts +20 -0
  53. package/dist/types/next/api-handler/handlers/clear-draft.d.ts.map +1 -0
  54. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +18 -0
  55. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +1 -0
  56. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +18 -0
  57. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +1 -0
  58. package/dist/types/next/api-handler/handlers/utils/draft.d.ts +16 -0
  59. package/dist/types/next/api-handler/handlers/utils/draft.d.ts.map +1 -0
  60. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts +1 -2
  61. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts.map +1 -1
  62. package/dist/types/next/api-handler/handlers/webhook/types.d.ts +12 -12
  63. package/dist/types/next/cache.d.ts +2 -0
  64. package/dist/types/next/cache.d.ts.map +1 -0
  65. package/dist/types/next/client.d.ts +8 -8
  66. package/dist/types/next/types.d.ts +123 -0
  67. package/dist/types/next/types.d.ts.map +1 -0
  68. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts +4 -0
  69. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts.map +1 -0
  70. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts +6 -0
  71. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts.map +1 -0
  72. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts +4 -0
  73. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -0
  74. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts +4 -0
  75. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts.map +1 -0
  76. package/package.json +3 -3
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var clear_draft_exports = {};
20
+ __export(clear_draft_exports, {
21
+ default: () => clearDraftHandler
22
+ });
23
+ module.exports = __toCommonJS(clear_draft_exports);
24
+ var import_server = require("next/server");
25
+ var import_ts_pattern = require("ts-pattern");
26
+ var import_draft = require("./utils/draft");
27
+ var import_cookie = require("cookie");
28
+ function clearCookiesHeader(cookieNames) {
29
+ const headers = new Headers();
30
+ cookieNames.forEach((name) => {
31
+ headers.append(
32
+ import_draft.SET_COOKIE_HEADER,
33
+ (0, import_cookie.serialize)(name, "", { ...import_draft.cookieSettingOptions, expires: /* @__PURE__ */ new Date(0) })
34
+ );
35
+ });
36
+ const setCookieHeader = headers.get(import_draft.SET_COOKIE_HEADER);
37
+ if (setCookieHeader == null) {
38
+ throw new Error(
39
+ `Could not generate set-cookie header to clear cookies: ${cookieNames.join(", ")}`
40
+ );
41
+ }
42
+ return setCookieHeader;
43
+ }
44
+ const routeHandlerPattern = [import_ts_pattern.P.instanceOf(Request), import_ts_pattern.P.any, import_ts_pattern.P.any];
45
+ const apiRoutePattern = [import_ts_pattern.P.any, import_ts_pattern.P.any, import_ts_pattern.P.any];
46
+ async function clearDraftHandler(...args) {
47
+ return (0, import_ts_pattern.match)(args).with(routeHandlerPattern, (args2) => clearDraftRouteHandler(...args2)).with(apiRoutePattern, (args2) => clearDraftApiRouteHandler(...args2)).exhaustive();
48
+ }
49
+ async function clearDraftRouteHandler(_request, _context, {}) {
50
+ const headers = new Headers();
51
+ headers.append(
52
+ import_draft.SET_COOKIE_HEADER,
53
+ clearCookiesHeader([import_draft.PRERENDER_BYPASS_COOKIE, import_draft.MAKESWIFT_DRAFT_DATA_COOKIE])
54
+ );
55
+ return import_server.NextResponse.json({ __brand: "ClearDraftResponse" }, { headers });
56
+ }
57
+ async function clearDraftApiRouteHandler(_req, res, {}) {
58
+ res.setHeader(
59
+ import_draft.SET_COOKIE_HEADER,
60
+ clearCookiesHeader([import_draft.PRERENDER_BYPASS_COOKIE, import_draft.PREVIEW_DATA_COOKIE])
61
+ );
62
+ return res.json({ __brand: "ClearDraftResponse" });
63
+ }
64
+ //# sourceMappingURL=clear-draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/handlers/clear-draft.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\nimport {\n MAKESWIFT_DRAFT_DATA_COOKIE,\n PRERENDER_BYPASS_COOKIE,\n PREVIEW_DATA_COOKIE,\n SET_COOKIE_HEADER,\n cookieSettingOptions,\n} from './utils/draft'\nimport { serialize as serializeCookie } from 'cookie'\n\nfunction clearCookiesHeader(cookieNames: string[]): string {\n const headers = new Headers()\n\n cookieNames.forEach(name => {\n headers.append(\n SET_COOKIE_HEADER,\n serializeCookie(name, '', { ...cookieSettingOptions, expires: new Date(0) }),\n )\n })\n\n const setCookieHeader = headers.get(SET_COOKIE_HEADER)\n\n if (setCookieHeader == null) {\n throw new Error(\n `Could not generate set-cookie header to clear cookies: ${cookieNames.join(', ')}`,\n )\n }\n\n return setCookieHeader\n}\n\ntype Context = { params: { [key: string]: string | string[] } }\n\ntype ClearDraftError = string\n\ntype Response = { __brand: 'ClearDraftResponse' }\n\nexport type ClearDraftResponse = ClearDraftError | Response\n\ntype ClearDraftHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<ClearDraftResponse>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nexport default async function clearDraftHandler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<ClearDraftResponse>>\nexport default async function clearDraftHandler(\n req: NextApiRequest,\n res: NextApiResponse<ClearDraftResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function clearDraftHandler(\n ...args: ClearDraftHandlerArgs\n): Promise<NextResponse<ClearDraftResponse> | void> {\n return match(args)\n .with(routeHandlerPattern, args => clearDraftRouteHandler(...args))\n .with(apiRoutePattern, args => clearDraftApiRouteHandler(...args))\n .exhaustive()\n}\n\nasync function clearDraftRouteHandler(\n _request: NextRequest,\n _context: Context,\n {}: { apiKey: string },\n): Promise<NextResponse<ClearDraftResponse>> {\n const headers = new Headers()\n\n headers.append(\n SET_COOKIE_HEADER,\n clearCookiesHeader([PRERENDER_BYPASS_COOKIE, MAKESWIFT_DRAFT_DATA_COOKIE]),\n )\n\n return NextResponse.json({ __brand: 'ClearDraftResponse' }, { headers })\n}\n\nasync function clearDraftApiRouteHandler(\n _req: NextApiRequest,\n res: NextApiResponse<ClearDraftResponse>,\n {}: { apiKey: string },\n): Promise<void> {\n res.setHeader(\n SET_COOKIE_HEADER,\n clearCookiesHeader([PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE]),\n )\n\n return res.json({ __brand: 'ClearDraftResponse' })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0C;AAC1C,wBAAyB;AACzB,mBAMO;AACP,oBAA6C;AAE7C,SAAS,mBAAmB,aAA+B;AACzD,QAAM,UAAU,IAAI,QAAQ;AAE5B,cAAY,QAAQ,UAAQ;AAC1B,YAAQ;AAAA,MACN;AAAA,UACA,cAAAA,WAAgB,MAAM,IAAI,EAAE,GAAG,mCAAsB,SAAS,oBAAI,KAAK,CAAC,EAAE,CAAC;AAAA,IAC7E;AAAA,EACF,CAAC;AAED,QAAM,kBAAkB,QAAQ,IAAI,8BAAiB;AAErD,MAAI,mBAAmB,MAAM;AAC3B,UAAM,IAAI;AAAA,MACR,0DAA0D,YAAY,KAAK,IAAI,CAAC;AAAA,IAClF;AAAA,EACF;AAEA,SAAO;AACT;AAcA,MAAM,sBAAsB,CAAC,oBAAE,WAAW,OAAO,GAAG,oBAAE,KAAK,oBAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,oBAAE,KAAK,oBAAE,KAAK,oBAAE,GAAG;AAY5C,eAAO,qBACF,MAC+C;AAClD,aAAO,yBAAM,IAAI,EACd,KAAK,qBAAqB,CAAAC,UAAQ,uBAAuB,GAAGA,KAAI,CAAC,EACjE,KAAK,iBAAiB,CAAAA,UAAQ,0BAA0B,GAAGA,KAAI,CAAC,EAChE,WAAW;AAChB;AAEA,eAAe,uBACb,UACA,UACA,CAAC,GAC0C;AAC3C,QAAM,UAAU,IAAI,QAAQ;AAE5B,UAAQ;AAAA,IACN;AAAA,IACA,mBAAmB,CAAC,sCAAyB,wCAA2B,CAAC;AAAA,EAC3E;AAEA,SAAO,2BAAa,KAAK,EAAE,SAAS,qBAAqB,GAAG,EAAE,QAAQ,CAAC;AACzE;AAEA,eAAe,0BACb,MACA,KACA,CAAC,GACc;AACf,MAAI;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,sCAAyB,gCAAmB,CAAC;AAAA,EACnE;AAEA,SAAO,IAAI,KAAK,EAAE,SAAS,qBAAqB,CAAC;AACnD;","names":["serializeCookie","args"]}
@@ -37,7 +37,7 @@ async function handler(...args) {
37
37
  const supportsDraftMode = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
38
38
  const supportsWebhook = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
39
39
  const body = {
40
- version: "0.23.12-canary.5",
40
+ version: "0.23.13",
41
41
  previewMode: supportsPreviewMode,
42
42
  draftMode: supportsDraftMode,
43
43
  interactionMode: true,
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var redirect_draft_exports = {};
20
+ __export(redirect_draft_exports, {
21
+ default: () => redirectDraftHandler
22
+ });
23
+ module.exports = __toCommonJS(redirect_draft_exports);
24
+ var import_server = require("next/server");
25
+ var import_ts_pattern = require("ts-pattern");
26
+ var import_headers = require("next/headers");
27
+ var import_cookie = require("cookie");
28
+ var import_site_version = require("../../../api/site-version");
29
+ var import_draft = require("./utils/draft");
30
+ const routeHandlerPattern = [import_ts_pattern.P.instanceOf(Request), import_ts_pattern.P.any, import_ts_pattern.P.any];
31
+ const apiRoutePattern = [import_ts_pattern.P.any, import_ts_pattern.P.any, import_ts_pattern.P.any];
32
+ async function redirectDraftHandler(...args) {
33
+ return (0, import_ts_pattern.match)(args).with(routeHandlerPattern, (args2) => redirectDraftRouteHandler(...args2)).with(apiRoutePattern, (args2) => redirectDraftApiRouteHandler(...args2)).exhaustive();
34
+ }
35
+ async function redirectDraftRouteHandler(request, _context, { apiKey }) {
36
+ const secret = request.nextUrl.searchParams.get(import_draft.SearchParams.DraftMode);
37
+ if (secret == null) {
38
+ return new import_server.NextResponse("Unauthorized to enable draft mode: no secret provided", {
39
+ status: 401
40
+ });
41
+ }
42
+ if (secret !== apiKey) {
43
+ return new import_server.NextResponse("Unauthorized to enable draft mode: incorrect secret", { status: 401 });
44
+ }
45
+ const draft = await (0, import_headers.draftMode)();
46
+ const cookieStore = await (0, import_headers.cookies)();
47
+ draft.enable();
48
+ const prerenderBypassCookie = cookieStore.get(import_draft.PRERENDER_BYPASS_COOKIE);
49
+ if (prerenderBypassCookie?.value == null) {
50
+ return new import_server.NextResponse("Could not retrieve draft mode bypass cookie", { status: 500 });
51
+ }
52
+ const draftCookies = [
53
+ prerenderBypassCookie,
54
+ {
55
+ name: import_draft.MAKESWIFT_DRAFT_DATA_COOKIE,
56
+ // Eventually, we can make this value dynamic using the request
57
+ value: JSON.stringify({ makeswift: true, siteVersion: import_site_version.MakeswiftSiteVersion.Working })
58
+ }
59
+ ];
60
+ const redirectProtocol = request.headers.get("x-forwarded-proto") ?? request.nextUrl.protocol.replace(":", "");
61
+ const redirectHost = request.headers.get("x-forwarded-host") ?? request.headers.get("host") ?? request.nextUrl.host;
62
+ const redirectUrl = new URL(
63
+ `${redirectProtocol}://${redirectHost}${request.nextUrl.pathname}${request.nextUrl.search}`
64
+ );
65
+ redirectUrl.searchParams.delete(import_draft.SearchParams.DraftMode);
66
+ const headers = new Headers();
67
+ draftCookies.forEach(({ name, value }) => {
68
+ headers.append(import_draft.SET_COOKIE_HEADER, (0, import_cookie.serialize)(name, value, { ...import_draft.cookieSettingOptions }));
69
+ });
70
+ return import_server.NextResponse.redirect(redirectUrl, { headers });
71
+ }
72
+ async function redirectDraftApiRouteHandler(_req, res, {}) {
73
+ const message = "Cannot request draft endpoint from an API handler registered in `pages`. Move your Makeswift API handler to the `app` directory";
74
+ console.error(message);
75
+ return res.status(500).send(message);
76
+ }
77
+ //# sourceMappingURL=redirect-draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-draft.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\nimport { cookies, draftMode } from 'next/headers'\n\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport {\n cookieSettingOptions,\n MAKESWIFT_DRAFT_DATA_COOKIE,\n PRERENDER_BYPASS_COOKIE,\n SearchParams,\n SET_COOKIE_HEADER,\n} from './utils/draft'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\ntype RedirectDraftError = string\n\ntype Response = unknown\n\nexport type RedirectDraftResponse = RedirectDraftError | Response\n\ntype RedirectDraftHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<RedirectDraftResponse>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nexport default async function redirectDraftHandler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<RedirectDraftResponse>>\nexport default async function redirectDraftHandler(\n req: NextApiRequest,\n res: NextApiResponse<RedirectDraftResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function redirectDraftHandler(\n ...args: RedirectDraftHandlerArgs\n): Promise<NextResponse<RedirectDraftResponse> | void> {\n return match(args)\n .with(routeHandlerPattern, args => redirectDraftRouteHandler(...args))\n .with(apiRoutePattern, args => redirectDraftApiRouteHandler(...args))\n .exhaustive()\n}\n\nasync function redirectDraftRouteHandler(\n request: NextRequest,\n _context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<RedirectDraftResponse>> {\n const secret = request.nextUrl.searchParams.get(SearchParams.DraftMode)\n\n if (secret == null) {\n return new NextResponse('Unauthorized to enable draft mode: no secret provided', {\n status: 401,\n })\n }\n if (secret !== apiKey) {\n return new NextResponse('Unauthorized to enable draft mode: incorrect secret', { status: 401 })\n }\n\n const draft = await draftMode()\n const cookieStore = await cookies()\n\n draft.enable()\n\n const prerenderBypassCookie = cookieStore.get(PRERENDER_BYPASS_COOKIE)\n\n if (prerenderBypassCookie?.value == null) {\n return new NextResponse('Could not retrieve draft mode bypass cookie', { status: 500 })\n }\n\n const draftCookies: { name: string; value: string }[] = [\n prerenderBypassCookie,\n {\n name: MAKESWIFT_DRAFT_DATA_COOKIE,\n // Eventually, we can make this value dynamic using the request\n value: JSON.stringify({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working }),\n },\n ]\n\n const redirectProtocol =\n request.headers.get('x-forwarded-proto') ?? request.nextUrl.protocol.replace(':', '')\n\n const redirectHost =\n request.headers.get('x-forwarded-host') ?? request.headers.get('host') ?? request.nextUrl.host\n\n const redirectUrl = new URL(\n `${redirectProtocol}://${redirectHost}${request.nextUrl.pathname}${request.nextUrl.search}`,\n )\n\n redirectUrl.searchParams.delete(SearchParams.DraftMode)\n\n const headers = new Headers()\n draftCookies.forEach(({ name, value }) => {\n headers.append(SET_COOKIE_HEADER, serializeCookie(name, value, { ...cookieSettingOptions }))\n })\n\n return NextResponse.redirect(redirectUrl, { headers })\n}\n\nasync function redirectDraftApiRouteHandler(\n _req: NextApiRequest,\n res: NextApiResponse<RedirectDraftResponse>,\n {}: { apiKey: string },\n): Promise<void> {\n const message =\n 'Cannot request draft endpoint from an API handler registered in `pages`. Move your Makeswift API handler to the `app` directory'\n console.error(message)\n return res.status(500).send(message)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0C;AAC1C,wBAAyB;AACzB,qBAAmC;AAEnC,oBAA6C;AAE7C,0BAAqC;AACrC,mBAMO;AAcP,MAAM,sBAAsB,CAAC,oBAAE,WAAW,OAAO,GAAG,oBAAE,KAAK,oBAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,oBAAE,KAAK,oBAAE,KAAK,oBAAE,GAAG;AAY5C,eAAO,wBACF,MACkD;AACrD,aAAO,yBAAM,IAAI,EACd,KAAK,qBAAqB,CAAAA,UAAQ,0BAA0B,GAAGA,KAAI,CAAC,EACpE,KAAK,iBAAiB,CAAAA,UAAQ,6BAA6B,GAAGA,KAAI,CAAC,EACnE,WAAW;AAChB;AAEA,eAAe,0BACb,SACA,UACA,EAAE,OAAO,GACqC;AAC9C,QAAM,SAAS,QAAQ,QAAQ,aAAa,IAAI,0BAAa,SAAS;AAEtE,MAAI,UAAU,MAAM;AAClB,WAAO,IAAI,2BAAa,yDAAyD;AAAA,MAC/E,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AACA,MAAI,WAAW,QAAQ;AACrB,WAAO,IAAI,2BAAa,uDAAuD,EAAE,QAAQ,IAAI,CAAC;AAAA,EAChG;AAEA,QAAM,QAAQ,UAAM,0BAAU;AAC9B,QAAM,cAAc,UAAM,wBAAQ;AAElC,QAAM,OAAO;AAEb,QAAM,wBAAwB,YAAY,IAAI,oCAAuB;AAErE,MAAI,uBAAuB,SAAS,MAAM;AACxC,WAAO,IAAI,2BAAa,+CAA+C,EAAE,QAAQ,IAAI,CAAC;AAAA,EACxF;AAEA,QAAM,eAAkD;AAAA,IACtD;AAAA,IACA;AAAA,MACE,MAAM;AAAA;AAAA,MAEN,OAAO,KAAK,UAAU,EAAE,WAAW,MAAM,aAAa,yCAAqB,QAAQ,CAAC;AAAA,IACtF;AAAA,EACF;AAEA,QAAM,mBACJ,QAAQ,QAAQ,IAAI,mBAAmB,KAAK,QAAQ,QAAQ,SAAS,QAAQ,KAAK,EAAE;AAEtF,QAAM,eACJ,QAAQ,QAAQ,IAAI,kBAAkB,KAAK,QAAQ,QAAQ,IAAI,MAAM,KAAK,QAAQ,QAAQ;AAE5F,QAAM,cAAc,IAAI;AAAA,IACtB,GAAG,gBAAgB,MAAM,YAAY,GAAG,QAAQ,QAAQ,QAAQ,GAAG,QAAQ,QAAQ,MAAM;AAAA,EAC3F;AAEA,cAAY,aAAa,OAAO,0BAAa,SAAS;AAEtD,QAAM,UAAU,IAAI,QAAQ;AAC5B,eAAa,QAAQ,CAAC,EAAE,MAAM,MAAM,MAAM;AACxC,YAAQ,OAAO,oCAAmB,cAAAC,WAAgB,MAAM,OAAO,EAAE,GAAG,kCAAqB,CAAC,CAAC;AAAA,EAC7F,CAAC;AAED,SAAO,2BAAa,SAAS,aAAa,EAAE,QAAQ,CAAC;AACvD;AAEA,eAAe,6BACb,MACA,KACA,CAAC,GACc;AACf,QAAM,UACJ;AACF,UAAQ,MAAM,OAAO;AACrB,SAAO,IAAI,OAAO,GAAG,EAAE,KAAK,OAAO;AACrC;","names":["args","serializeCookie"]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var redirect_preview_exports = {};
20
+ __export(redirect_preview_exports, {
21
+ default: () => redirectPreviewHandler
22
+ });
23
+ module.exports = __toCommonJS(redirect_preview_exports);
24
+ var import_server = require("next/server");
25
+ var import_ts_pattern = require("ts-pattern");
26
+ var import_set_cookie_parser = require("set-cookie-parser");
27
+ var import_cookie = require("cookie");
28
+ var import_site_version = require("../../../api/site-version");
29
+ var import_draft = require("./utils/draft");
30
+ const routeHandlerPattern = [import_ts_pattern.P.instanceOf(Request), import_ts_pattern.P.any, import_ts_pattern.P.any];
31
+ const apiRoutePattern = [import_ts_pattern.P.any, import_ts_pattern.P.any, import_ts_pattern.P.any];
32
+ async function redirectPreviewHandler(...args) {
33
+ return (0, import_ts_pattern.match)(args).with(routeHandlerPattern, (args2) => redirectPreviewRouteHandler(...args2)).with(apiRoutePattern, (args2) => redirectPreviewApiRouteHandler(...args2)).exhaustive();
34
+ }
35
+ async function redirectPreviewRouteHandler(_request, _context, {}) {
36
+ const message = "Cannot request preview endpoint from an API handler registered in `app`. Move your Makeswift API handler to the `pages/api` directory";
37
+ console.error(message);
38
+ return import_server.NextResponse.json(message, { status: 500 });
39
+ }
40
+ async function redirectPreviewApiRouteHandler(req, res, { apiKey }) {
41
+ const secret = req.query[import_draft.SearchParams.PreviewMode];
42
+ if (secret == null) {
43
+ return res.status(401).send("Unauthorized to enable preview mode: no secret provided");
44
+ }
45
+ if (secret !== apiKey) {
46
+ return res.status(401).send("Unauthorized to enable preview mode: secret is incorrect");
47
+ }
48
+ if (req.url == null) {
49
+ return res.status(400).send("Bad request: incoming request does not have URL property");
50
+ }
51
+ const setCookie = res.setPreviewData({ makeswift: true, siteVersion: import_site_version.MakeswiftSiteVersion.Working }).getHeader(import_draft.SET_COOKIE_HEADER);
52
+ res.removeHeader(import_draft.SET_COOKIE_HEADER);
53
+ const parsedCookies = (0, import_set_cookie_parser.parse)(Array.isArray(setCookie) ? setCookie : "");
54
+ const prerenderBypassCookie = parsedCookies.find((c) => c.name === import_draft.PRERENDER_BYPASS_COOKIE);
55
+ const previewDataCookie = parsedCookies.find((c) => c.name === import_draft.PREVIEW_DATA_COOKIE);
56
+ if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {
57
+ return res.status(500).send("Could not retrieve preview mode cookies");
58
+ }
59
+ const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {
60
+ return (0, import_cookie.serialize)(name, value, { ...import_draft.cookieSettingOptions });
61
+ });
62
+ res.setHeader(import_draft.SET_COOKIE_HEADER, patchedCookies);
63
+ const destinationUrl = new URL(req.url, "http://test.com");
64
+ destinationUrl.searchParams.delete(import_draft.SearchParams.PreviewMode);
65
+ res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`);
66
+ }
67
+ //# sourceMappingURL=redirect-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-preview.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\n\nimport { parse as parseSetCookie } from 'set-cookie-parser'\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport {\n cookieSettingOptions,\n PRERENDER_BYPASS_COOKIE,\n PREVIEW_DATA_COOKIE,\n SearchParams,\n SET_COOKIE_HEADER,\n} from './utils/draft'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\ntype RedirectPreviewError = string\n\ntype Response = unknown\n\nexport type RedirectPreviewResponse = RedirectPreviewError | Response\n\ntype RedirectPreviewHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<RedirectPreviewResponse>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nexport default async function redirectPreviewHandler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<RedirectPreviewResponse>>\nexport default async function redirectPreviewHandler(\n req: NextApiRequest,\n res: NextApiResponse<RedirectPreviewResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function redirectPreviewHandler(\n ...args: RedirectPreviewHandlerArgs\n): Promise<NextResponse<RedirectPreviewResponse> | void> {\n return match(args)\n .with(routeHandlerPattern, args => redirectPreviewRouteHandler(...args))\n .with(apiRoutePattern, args => redirectPreviewApiRouteHandler(...args))\n .exhaustive()\n}\n\nasync function redirectPreviewRouteHandler(\n _request: NextRequest,\n _context: Context,\n {}: { apiKey: string },\n): Promise<NextResponse<RedirectPreviewResponse>> {\n const message =\n 'Cannot request preview endpoint from an API handler registered in `app`. Move your Makeswift API handler to the `pages/api` directory'\n console.error(message)\n return NextResponse.json(message, { status: 500 })\n}\n\nasync function redirectPreviewApiRouteHandler(\n req: NextApiRequest,\n res: NextApiResponse<RedirectPreviewResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void> {\n const secret = req.query[SearchParams.PreviewMode]\n\n if (secret == null) {\n return res.status(401).send('Unauthorized to enable preview mode: no secret provided')\n }\n if (secret !== apiKey) {\n return res.status(401).send('Unauthorized to enable preview mode: secret is incorrect')\n }\n\n if (req.url == null) {\n return res.status(400).send('Bad request: incoming request does not have URL property')\n }\n\n const setCookie = res\n // Eventually, we can make the preview data value dynamic using the request\n .setPreviewData({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working })\n .getHeader(SET_COOKIE_HEADER)\n\n res.removeHeader(SET_COOKIE_HEADER)\n\n const parsedCookies = parseSetCookie(Array.isArray(setCookie) ? setCookie : '')\n\n const prerenderBypassCookie = parsedCookies.find(c => c.name === PRERENDER_BYPASS_COOKIE)\n const previewDataCookie = parsedCookies.find(c => c.name === PREVIEW_DATA_COOKIE)\n\n if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {\n return res.status(500).send('Could not retrieve preview mode cookies')\n }\n\n const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {\n return serializeCookie(name, value, { ...cookieSettingOptions })\n })\n\n res.setHeader(SET_COOKIE_HEADER, patchedCookies)\n\n const destinationUrl = new URL(req.url, 'http://test.com')\n destinationUrl.searchParams.delete(SearchParams.PreviewMode)\n\n res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA0C;AAC1C,wBAAyB;AAEzB,+BAAwC;AACxC,oBAA6C;AAE7C,0BAAqC;AACrC,mBAMO;AAcP,MAAM,sBAAsB,CAAC,oBAAE,WAAW,OAAO,GAAG,oBAAE,KAAK,oBAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,oBAAE,KAAK,oBAAE,KAAK,oBAAE,GAAG;AAY5C,eAAO,0BACF,MACoD;AACvD,aAAO,yBAAM,IAAI,EACd,KAAK,qBAAqB,CAAAA,UAAQ,4BAA4B,GAAGA,KAAI,CAAC,EACtE,KAAK,iBAAiB,CAAAA,UAAQ,+BAA+B,GAAGA,KAAI,CAAC,EACrE,WAAW;AAChB;AAEA,eAAe,4BACb,UACA,UACA,CAAC,GAC+C;AAChD,QAAM,UACJ;AACF,UAAQ,MAAM,OAAO;AACrB,SAAO,2BAAa,KAAK,SAAS,EAAE,QAAQ,IAAI,CAAC;AACnD;AAEA,eAAe,+BACb,KACA,KACA,EAAE,OAAO,GACM;AACf,QAAM,SAAS,IAAI,MAAM,0BAAa,WAAW;AAEjD,MAAI,UAAU,MAAM;AAClB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yDAAyD;AAAA,EACvF;AACA,MAAI,WAAW,QAAQ;AACrB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,0DAA0D;AAAA,EACxF;AAEA,MAAI,IAAI,OAAO,MAAM;AACnB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,0DAA0D;AAAA,EACxF;AAEA,QAAM,YAAY,IAEf,eAAe,EAAE,WAAW,MAAM,aAAa,yCAAqB,QAAQ,CAAC,EAC7E,UAAU,8BAAiB;AAE9B,MAAI,aAAa,8BAAiB;AAElC,QAAM,oBAAgB,yBAAAC,OAAe,MAAM,QAAQ,SAAS,IAAI,YAAY,EAAE;AAE9E,QAAM,wBAAwB,cAAc,KAAK,OAAK,EAAE,SAAS,oCAAuB;AACxF,QAAM,oBAAoB,cAAc,KAAK,OAAK,EAAE,SAAS,gCAAmB;AAEhF,MAAI,uBAAuB,SAAS,QAAQ,mBAAmB,SAAS,MAAM;AAC5E,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yCAAyC;AAAA,EACvE;AAEA,QAAM,iBAAiB,CAAC,uBAAuB,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM;AACzF,eAAO,cAAAC,WAAgB,MAAM,OAAO,EAAE,GAAG,kCAAqB,CAAC;AAAA,EACjE,CAAC;AAED,MAAI,UAAU,gCAAmB,cAAc;AAE/C,QAAM,iBAAiB,IAAI,IAAI,IAAI,KAAK,iBAAiB;AACzD,iBAAe,aAAa,OAAO,0BAAa,WAAW;AAE3D,MAAI,SAAS,GAAG,eAAe,QAAQ,IAAI,eAAe,aAAa,SAAS,CAAC,EAAE;AACrF;","names":["args","parseSetCookie","serializeCookie"]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var draft_exports = {};
20
+ __export(draft_exports, {
21
+ MAKESWIFT_DRAFT_DATA_COOKIE: () => MAKESWIFT_DRAFT_DATA_COOKIE,
22
+ PRERENDER_BYPASS_COOKIE: () => PRERENDER_BYPASS_COOKIE,
23
+ PREVIEW_DATA_COOKIE: () => PREVIEW_DATA_COOKIE,
24
+ SET_COOKIE_HEADER: () => SET_COOKIE_HEADER,
25
+ SearchParams: () => SearchParams,
26
+ cookieSettingOptions: () => cookieSettingOptions
27
+ });
28
+ module.exports = __toCommonJS(draft_exports);
29
+ const PRERENDER_BYPASS_COOKIE = "__prerender_bypass";
30
+ const PREVIEW_DATA_COOKIE = "__next_preview_data";
31
+ const MAKESWIFT_DRAFT_DATA_COOKIE = "x-makeswift-draft-data";
32
+ const SET_COOKIE_HEADER = "set-cookie";
33
+ const SearchParams = {
34
+ DraftMode: "x-makeswift-draft-mode",
35
+ PreviewMode: "x-makeswift-preview-mode"
36
+ };
37
+ const cookieSettingOptions = {
38
+ path: "/",
39
+ sameSite: "none",
40
+ secure: true,
41
+ httpOnly: true,
42
+ partitioned: true
43
+ };
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ MAKESWIFT_DRAFT_DATA_COOKIE,
47
+ PRERENDER_BYPASS_COOKIE,
48
+ PREVIEW_DATA_COOKIE,
49
+ SET_COOKIE_HEADER,
50
+ SearchParams,
51
+ cookieSettingOptions
52
+ });
53
+ //# sourceMappingURL=draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/next/api-handler/handlers/utils/draft.ts"],"sourcesContent":["export const PRERENDER_BYPASS_COOKIE = '__prerender_bypass'\nexport const PREVIEW_DATA_COOKIE = '__next_preview_data'\n\nexport const MAKESWIFT_DRAFT_DATA_COOKIE = 'x-makeswift-draft-data'\nexport const SET_COOKIE_HEADER = 'set-cookie'\n\nexport const SearchParams = {\n DraftMode: 'x-makeswift-draft-mode',\n PreviewMode: 'x-makeswift-preview-mode',\n} as const\n\nexport const cookieSettingOptions = {\n path: '/',\n sameSite: 'none',\n secure: true,\n httpOnly: true,\n partitioned: true,\n} as const\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,0BAA0B;AAChC,MAAM,sBAAsB;AAE5B,MAAM,8BAA8B;AACpC,MAAM,oBAAoB;AAE1B,MAAM,eAAe;AAAA,EAC1B,WAAW;AAAA,EACX,aAAa;AACf;AAEO,MAAM,uBAAuB;AAAA,EAClC,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AACf;","names":[]}
@@ -18,13 +18,13 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var site_published_exports = {};
20
20
  __export(site_published_exports, {
21
- MAKESWIFT_CACHE_TAG: () => MAKESWIFT_CACHE_TAG,
22
21
  handleSitePublished: () => handleSitePublished
23
22
  });
24
23
  module.exports = __toCommonJS(site_published_exports);
25
24
  var import_cache = require("next/cache");
25
+ var import_cache2 = require("../../../cache");
26
26
  async function handleSitePublished(_payload, { onPublish }) {
27
- (0, import_cache.revalidateTag)(MAKESWIFT_CACHE_TAG);
27
+ (0, import_cache.revalidateTag)(import_cache2.MAKESWIFT_CACHE_TAG);
28
28
  try {
29
29
  await onPublish?.();
30
30
  } catch (error) {
@@ -32,10 +32,8 @@ async function handleSitePublished(_payload, { onPublish }) {
32
32
  }
33
33
  return { body: { success: true }, status: 200 };
34
34
  }
35
- const MAKESWIFT_CACHE_TAG = "@@makeswift";
36
35
  // Annotate the CommonJS export names for ESM import in node:
37
36
  0 && (module.exports = {
38
- MAKESWIFT_CACHE_TAG,
39
37
  handleSitePublished
40
38
  });
41
39
  //# sourceMappingURL=site-published.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/next/api-handler/handlers/webhook/site-published.ts"],"sourcesContent":["import { revalidateTag } from 'next/cache'\nimport { OnPublish, SitePublishedWebhookPayload, WebhookHandlerResult } from './types'\n\ntype SitePublishedParams = {\n onPublish?: OnPublish\n}\n\nexport async function handleSitePublished(\n _payload: SitePublishedWebhookPayload,\n { onPublish }: SitePublishedParams\n): Promise<WebhookHandlerResult> {\n revalidateTag(MAKESWIFT_CACHE_TAG)\n\n try {\n await onPublish?.()\n } catch (error) {\n // log and ignore any error in user-provided onPublish\n console.error(\"Unhandled exception in the 'onPublish' callback:\", error)\n }\n\n return { body: { success: true }, status: 200 }\n}\n\nexport const MAKESWIFT_CACHE_TAG = '@@makeswift'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAO9B,eAAsB,oBACpB,UACA,EAAE,UAAU,GACmB;AAC/B,kCAAc,mBAAmB;AAEjC,MAAI;AACF,UAAM,YAAY;AAAA,EACpB,SAAS,OAAO;AAEd,YAAQ,MAAM,oDAAoD,KAAK;AAAA,EACzE;AAEA,SAAO,EAAE,MAAM,EAAE,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD;AAEO,MAAM,sBAAsB;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/next/api-handler/handlers/webhook/site-published.ts"],"sourcesContent":["import { revalidateTag } from 'next/cache'\nimport {\n type OnPublish,\n type SitePublishedWebhookPayload,\n type WebhookHandlerResult,\n} from './types'\n\nimport { MAKESWIFT_CACHE_TAG } from '../../../cache'\n\ntype SitePublishedParams = {\n onPublish?: OnPublish\n}\n\nexport async function handleSitePublished(\n _payload: SitePublishedWebhookPayload,\n { onPublish }: SitePublishedParams,\n): Promise<WebhookHandlerResult> {\n revalidateTag(MAKESWIFT_CACHE_TAG)\n\n try {\n await onPublish?.()\n } catch (error) {\n // log and ignore any error in user-provided onPublish\n console.error(\"Unhandled exception in the 'onPublish' callback:\", error)\n }\n\n return { body: { success: true }, status: 200 }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAO9B,IAAAA,gBAAoC;AAMpC,eAAsB,oBACpB,UACA,EAAE,UAAU,GACmB;AAC/B,kCAAc,iCAAmB;AAEjC,MAAI;AACF,UAAM,YAAY;AAAA,EACpB,SAAS,OAAO;AAEd,YAAQ,MAAM,oDAAoD,KAAK;AAAA,EACzE;AAEA,SAAO,EAAE,MAAM,EAAE,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD;","names":["import_cache"]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var cache_exports = {};
20
+ __export(cache_exports, {
21
+ MAKESWIFT_CACHE_TAG: () => MAKESWIFT_CACHE_TAG
22
+ });
23
+ module.exports = __toCommonJS(cache_exports);
24
+ const MAKESWIFT_CACHE_TAG = "@@makeswift";
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ MAKESWIFT_CACHE_TAG
28
+ });
29
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/cache.ts"],"sourcesContent":["export const MAKESWIFT_CACHE_TAG = '@@makeswift'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,sBAAsB;","names":[]}
@@ -37,7 +37,7 @@ var import_pagination = require("./utils/pagination");
37
37
  var import_deterministic_uuid = require("../utils/deterministic-uuid");
38
38
  var import_controls = require("@makeswift/controls");
39
39
  var import_read_only_documents = require("../state/modules/read-only-documents");
40
- var import_site_published = require("./api-handler/handlers/webhook/site-published");
40
+ var import_cache = require("./cache");
41
41
  const makeswiftPageResultSchema = import_zod.z.object({
42
42
  id: import_zod.z.string(),
43
43
  path: import_zod.z.string(),
@@ -224,7 +224,7 @@ Received "${apiKey}" instead.`
224
224
  ...siteVersion === import_site_version.MakeswiftSiteVersion.Working ? { cache: "no-store" } : {},
225
225
  next: {
226
226
  ...init?.next,
227
- tags: [...init?.next?.tags ?? [], import_site_published.MAKESWIFT_CACHE_TAG]
227
+ tags: [...init?.next?.tags ?? [], import_cache.MAKESWIFT_CACHE_TAG]
228
228
  }
229
229
  });
230
230
  return response;