@actuate-media/cms-core 0.58.0 → 0.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/api/route-contracts.test.d.ts +2 -0
- package/dist/__tests__/api/route-contracts.test.d.ts.map +1 -0
- package/dist/__tests__/api/route-contracts.test.js +430 -0
- package/dist/__tests__/api/route-contracts.test.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/sections/__tests__/define.test.d.ts +2 -0
- package/dist/sections/__tests__/define.test.d.ts.map +1 -0
- package/dist/sections/__tests__/define.test.js +132 -0
- package/dist/sections/__tests__/define.test.js.map +1 -0
- package/dist/sections/define.d.ts +21 -0
- package/dist/sections/define.d.ts.map +1 -0
- package/dist/sections/define.js +160 -0
- package/dist/sections/define.js.map +1 -0
- package/dist/sections/index.d.ts +1 -0
- package/dist/sections/index.d.ts.map +1 -1
- package/dist/sections/index.js +1 -0
- package/dist/sections/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-contracts.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/api/route-contracts.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API-handler contract tests (M13).
|
|
3
|
+
*
|
|
4
|
+
* `ROUTE_CONTRACT` below is the checked-in contract for the entire REST
|
|
5
|
+
* surface: every registered route (in registration order, which is semantic —
|
|
6
|
+
* the router is first-match-wins) paired with the exact status an
|
|
7
|
+
* UNAUTHENTICATED request must receive.
|
|
8
|
+
*
|
|
9
|
+
* What this guards against:
|
|
10
|
+
* - silently dropped/renamed routes (e.g. during a route-module refactor)
|
|
11
|
+
* - a protected route accidentally becoming public (401 → 2xx is a security
|
|
12
|
+
* regression and fails loudly here)
|
|
13
|
+
* - handlers that 500 on anonymous traffic instead of failing cleanly
|
|
14
|
+
* - error responses that stop emitting the `{ error: string }` JSON envelope
|
|
15
|
+
*
|
|
16
|
+
* How to update on an INTENTIONAL change: add/remove/edit the table entry in
|
|
17
|
+
* the same PR that changes the route, so the diff documents the new contract.
|
|
18
|
+
* A new route that serves anonymous traffic (expected status 2xx/3xx) must
|
|
19
|
+
* also be added to `ANONYMOUS_SURFACE` with a one-line justification.
|
|
20
|
+
*
|
|
21
|
+
* Status legend:
|
|
22
|
+
* 401 protected — handler rejects before any work happens
|
|
23
|
+
* 400/404 reachable anonymously, but rejects the dummy input/params
|
|
24
|
+
* 2xx/204 deliberately public — must be listed in ANONYMOUS_SURFACE
|
|
25
|
+
*/
|
|
26
|
+
import { beforeAll, describe, expect, it } from 'vitest';
|
|
27
|
+
import { createApiRouter } from '../../api/router.js';
|
|
28
|
+
import { registerCMSRoutes } from '../../api/handlers.js';
|
|
29
|
+
import { setActuateConfig } from '../../config/runtime.js';
|
|
30
|
+
import { initDB } from '../../db.js';
|
|
31
|
+
// ─── Harness ──────────────────────────────────────────────────────────
|
|
32
|
+
/**
|
|
33
|
+
* A Prisma-shaped mock where every model delegate exists and returns empty
|
|
34
|
+
* results. The sweep never authenticates, so protected handlers must reject
|
|
35
|
+
* before touching the DB; public handlers see an empty-but-healthy database.
|
|
36
|
+
*/
|
|
37
|
+
function permissiveMockDb() {
|
|
38
|
+
const delegate = {
|
|
39
|
+
findUnique: async () => null,
|
|
40
|
+
findFirst: async () => null,
|
|
41
|
+
findMany: async () => [],
|
|
42
|
+
count: async () => 0,
|
|
43
|
+
aggregate: async () => ({}),
|
|
44
|
+
groupBy: async () => [],
|
|
45
|
+
create: async (a) => ({ id: 'x', ...a?.data }),
|
|
46
|
+
update: async (a) => ({ id: 'x', ...a?.data }),
|
|
47
|
+
updateMany: async () => ({ count: 0 }),
|
|
48
|
+
upsert: async () => ({ id: 'x' }),
|
|
49
|
+
delete: async () => ({ id: 'x' }),
|
|
50
|
+
deleteMany: async () => ({ count: 0 }),
|
|
51
|
+
};
|
|
52
|
+
const base = {
|
|
53
|
+
$queryRaw: async () => [{ ok: 1 }],
|
|
54
|
+
$executeRaw: async () => 0,
|
|
55
|
+
$transaction: async (fn) => typeof fn === 'function'
|
|
56
|
+
? fn(permissiveMockDb())
|
|
57
|
+
: Promise.all(fn),
|
|
58
|
+
};
|
|
59
|
+
return new Proxy(base, {
|
|
60
|
+
get(target, prop) {
|
|
61
|
+
if (prop in target)
|
|
62
|
+
return target[prop];
|
|
63
|
+
if (typeof prop === 'string' && !prop.startsWith('$') && prop !== 'then')
|
|
64
|
+
return delegate;
|
|
65
|
+
return undefined;
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const router = createApiRouter();
|
|
70
|
+
beforeAll(() => {
|
|
71
|
+
process.env.CMS_SECRET = 'contract-suite-secret-0123456789abcdef';
|
|
72
|
+
process.env.CRON_SECRET = 'cron-secret-for-contract-tests';
|
|
73
|
+
setActuateConfig({
|
|
74
|
+
collections: [
|
|
75
|
+
{
|
|
76
|
+
slug: 'pages',
|
|
77
|
+
labels: { singular: 'Page', plural: 'Pages' },
|
|
78
|
+
fields: [{ name: 'title', type: 'text' }],
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
});
|
|
82
|
+
initDB(permissiveMockDb());
|
|
83
|
+
registerCMSRoutes(router);
|
|
84
|
+
});
|
|
85
|
+
/** Fire an anonymous request at a route, substituting dummy path params. */
|
|
86
|
+
async function anonymousRequest(method, pattern) {
|
|
87
|
+
const path = pattern.replace(/:([^/]+)/g, 'test-param');
|
|
88
|
+
const init = method === 'GET' || method === 'OPTIONS'
|
|
89
|
+
? { method }
|
|
90
|
+
: {
|
|
91
|
+
method,
|
|
92
|
+
headers: { 'content-type': 'application/json' },
|
|
93
|
+
body: JSON.stringify({}),
|
|
94
|
+
};
|
|
95
|
+
// A handler that hangs on anonymous traffic (e.g. an SSE stream that does
|
|
96
|
+
// not reject unauthenticated clients) should fail this suite cleanly
|
|
97
|
+
// rather than stall the worker until the global test timeout.
|
|
98
|
+
return Promise.race([
|
|
99
|
+
router.handle(new Request(`https://example.com${path}`, init)),
|
|
100
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(`${method} ${pattern} did not respond within 5s`)), 5000)),
|
|
101
|
+
]);
|
|
102
|
+
}
|
|
103
|
+
// ─── The contract ─────────────────────────────────────────────────────
|
|
104
|
+
const ROUTE_CONTRACT = [
|
|
105
|
+
['GET /auth/csrf', 200],
|
|
106
|
+
['GET /openapi.json', 200],
|
|
107
|
+
['GET /collections', 200],
|
|
108
|
+
['GET /docs', 200],
|
|
109
|
+
['POST /auth/login', 400],
|
|
110
|
+
['GET /dev/login', 404],
|
|
111
|
+
['POST /dev/login', 404],
|
|
112
|
+
['POST /auth/logout', 401],
|
|
113
|
+
['POST /auth/forgot-password', 400],
|
|
114
|
+
['POST /auth/reset-password', 400],
|
|
115
|
+
['GET /auth/me', 401],
|
|
116
|
+
['POST /auth/totp/setup', 401],
|
|
117
|
+
['POST /auth/totp/verify', 401],
|
|
118
|
+
['POST /auth/totp/disable', 401],
|
|
119
|
+
['POST /auth/totp/login', 400],
|
|
120
|
+
['GET /auth/oauth/:provider', 400],
|
|
121
|
+
['GET /auth/oauth/:provider/callback', 400],
|
|
122
|
+
['GET /collections/:slug', 401],
|
|
123
|
+
['GET /collections/:slug/:id', 401],
|
|
124
|
+
['POST /collections/:slug', 401],
|
|
125
|
+
['PUT /collections/:slug/:id', 401],
|
|
126
|
+
['DELETE /collections/:slug/:id', 401],
|
|
127
|
+
['GET /page-sections/types', 401],
|
|
128
|
+
['POST /page-sections/validate', 401],
|
|
129
|
+
['GET /page-sections/:collection/:id', 401],
|
|
130
|
+
['POST /page-sections/:collection/:id', 401],
|
|
131
|
+
['POST /page-sections/:collection/:id/reorder', 401],
|
|
132
|
+
['PATCH /page-sections/:collection/:id/:sectionId', 401],
|
|
133
|
+
['DELETE /page-sections/:collection/:id/:sectionId', 401],
|
|
134
|
+
['GET /post-templates/:type', 401],
|
|
135
|
+
['PUT /post-templates/:type', 401],
|
|
136
|
+
['GET /posts', 401],
|
|
137
|
+
['GET /media', 401],
|
|
138
|
+
['POST /media/presign', 401],
|
|
139
|
+
['POST /media/upload', 401],
|
|
140
|
+
['POST /media/:id/optimize', 401],
|
|
141
|
+
['PUT /media/:id', 401],
|
|
142
|
+
['DELETE /media/:id', 401],
|
|
143
|
+
['GET /updates/check', 401],
|
|
144
|
+
['GET /updates/config', 401],
|
|
145
|
+
['PUT /updates/config', 401],
|
|
146
|
+
['POST /updates/apply', 401],
|
|
147
|
+
['GET /captcha/config', 200],
|
|
148
|
+
['GET /setup/status', 200],
|
|
149
|
+
['POST /setup/create-admin', 400],
|
|
150
|
+
['GET /health', 200],
|
|
151
|
+
['GET /stats', 401],
|
|
152
|
+
['GET /stats/content-health', 401],
|
|
153
|
+
['GET /stats/api-delivery', 401],
|
|
154
|
+
['GET /search/global', 401],
|
|
155
|
+
['GET /api-keys', 401],
|
|
156
|
+
['POST /api-keys', 401],
|
|
157
|
+
['DELETE /api-keys/:id', 401],
|
|
158
|
+
['GET /users', 401],
|
|
159
|
+
['GET /users/stats', 401],
|
|
160
|
+
['GET /users/search', 401],
|
|
161
|
+
['POST /users/invite', 401],
|
|
162
|
+
['DELETE /users/:id', 401],
|
|
163
|
+
['PATCH /users/:id/role', 401],
|
|
164
|
+
['GET /users/:id', 401],
|
|
165
|
+
['GET /users/:id/sessions', 401],
|
|
166
|
+
['DELETE /users/:id/sessions/:sessionId', 401],
|
|
167
|
+
['POST /users/:id/sessions/revoke-all', 401],
|
|
168
|
+
['GET /users/:id/activity', 401],
|
|
169
|
+
['GET /users/:id/permissions', 401],
|
|
170
|
+
['POST /users/:id/password-reset', 401],
|
|
171
|
+
['POST /users/:id/force-password-reset', 401],
|
|
172
|
+
['POST /users/:id/mfa-reset', 401],
|
|
173
|
+
['POST /users/:id/require-mfa', 401],
|
|
174
|
+
['POST /users/:id/suspend', 401],
|
|
175
|
+
['POST /users/:id/reactivate', 401],
|
|
176
|
+
['POST /users/:id/lock', 401],
|
|
177
|
+
['POST /users/:id/unlock', 401],
|
|
178
|
+
['POST /users/:id/transfer-content', 401],
|
|
179
|
+
['GET /invites', 401],
|
|
180
|
+
['POST /invites/:id/resend', 401],
|
|
181
|
+
['POST /invites/:id/cancel', 401],
|
|
182
|
+
['PATCH /invites/:id', 401],
|
|
183
|
+
['GET /access-review', 401],
|
|
184
|
+
['POST /access-review/:id/dismiss', 401],
|
|
185
|
+
['GET /forms', 401],
|
|
186
|
+
['GET /forms/:id/submissions', 401],
|
|
187
|
+
['OPTIONS /public/forms/:slug', 204],
|
|
188
|
+
['GET /public/forms/:slug', 404],
|
|
189
|
+
['OPTIONS /public/forms/:slug/submit', 204],
|
|
190
|
+
['POST /public/forms/:slug/submit', 404],
|
|
191
|
+
['POST /forms/:id/submit', 404],
|
|
192
|
+
['GET /forms/stats', 401],
|
|
193
|
+
['GET /forms/sidebar-counts', 401],
|
|
194
|
+
['GET /forms/entries/counts', 401],
|
|
195
|
+
['GET /forms/entries/export', 401],
|
|
196
|
+
['GET /forms/entries/:entryId', 401],
|
|
197
|
+
['PATCH /forms/entries/:entryId', 401],
|
|
198
|
+
['DELETE /forms/entries/:entryId', 401],
|
|
199
|
+
['POST /forms/entries/bulk', 401],
|
|
200
|
+
['GET /forms/entries', 401],
|
|
201
|
+
['POST /forms', 401],
|
|
202
|
+
['GET /forms/:id', 401],
|
|
203
|
+
['PATCH /forms/:id', 401],
|
|
204
|
+
['DELETE /forms/:id', 401],
|
|
205
|
+
['POST /forms/:id/duplicate', 401],
|
|
206
|
+
['GET /forms/:id/schema', 401],
|
|
207
|
+
['PUT /forms/:id/schema', 401],
|
|
208
|
+
['GET /forms/:id/notifications', 401],
|
|
209
|
+
['PUT /forms/:id/notifications', 401],
|
|
210
|
+
['PUT /forms/:id/notify', 401],
|
|
211
|
+
['GET /forms/:id/embed', 401],
|
|
212
|
+
['PUT /forms/:id/embed', 401],
|
|
213
|
+
['GET /forms/:id/webhooks', 401],
|
|
214
|
+
['POST /forms/:id/webhooks', 401],
|
|
215
|
+
['PATCH /forms/:id/webhooks/:webhookId', 401],
|
|
216
|
+
['DELETE /forms/:id/webhooks/:webhookId', 401],
|
|
217
|
+
['POST /forms/:id/webhooks/:webhookId/test', 401],
|
|
218
|
+
['POST /forms/:id/notifications/test', 401],
|
|
219
|
+
['GET /redirects', 401],
|
|
220
|
+
['POST /redirects', 401],
|
|
221
|
+
['DELETE /redirects/:id', 401],
|
|
222
|
+
['GET /seo/redirects', 401],
|
|
223
|
+
['GET /seo/redirects/overview', 401],
|
|
224
|
+
['GET /seo/redirects/chains', 401],
|
|
225
|
+
['POST /seo/redirects/flatten', 401],
|
|
226
|
+
['GET /seo/redirects/suggestions', 401],
|
|
227
|
+
['POST /seo/redirects/suggest', 401],
|
|
228
|
+
['POST /seo/redirects/suggestions/:id/accept', 401],
|
|
229
|
+
['POST /seo/redirects/suggestions/:id/dismiss', 401],
|
|
230
|
+
['GET /seo/redirects/export', 401],
|
|
231
|
+
['POST /seo/redirects/import', 401],
|
|
232
|
+
['POST /seo/redirects', 401],
|
|
233
|
+
['GET /seo/redirects/:id', 401],
|
|
234
|
+
['PUT /seo/redirects/:id', 401],
|
|
235
|
+
['DELETE /seo/redirects/:id', 401],
|
|
236
|
+
['GET /redirects/resolve', 200],
|
|
237
|
+
['GET /redirects/public', 200],
|
|
238
|
+
['POST /redirects/record-hit', 200],
|
|
239
|
+
['POST /redirects/record-404', 200],
|
|
240
|
+
['GET /seo/pages', 401],
|
|
241
|
+
['GET /seo/link-health', 401],
|
|
242
|
+
['POST /seo/scan', 401],
|
|
243
|
+
['POST /seo/audit', 401],
|
|
244
|
+
['GET /seo/audits', 401],
|
|
245
|
+
['GET /seo/audits/:id', 401],
|
|
246
|
+
['GET /seo/issues', 401],
|
|
247
|
+
['GET /seo/issues/:id', 401],
|
|
248
|
+
['POST /seo/issues/:id/resolve', 401],
|
|
249
|
+
['POST /seo/issues/:id/ignore', 401],
|
|
250
|
+
['POST /seo/issues/:id/reopen', 401],
|
|
251
|
+
['GET /seo/overview', 401],
|
|
252
|
+
['GET /seo/search-performance', 401],
|
|
253
|
+
['GET /seo/content', 401],
|
|
254
|
+
['GET /seo/content/:entityType/:entityId', 401],
|
|
255
|
+
['PUT /seo/content/:entityType/:entityId', 401],
|
|
256
|
+
['GET /seo/analysis/:documentId', 401],
|
|
257
|
+
['GET /seo/readability/:documentId', 401],
|
|
258
|
+
['GET /seo/internal-links/:documentId', 401],
|
|
259
|
+
['GET /llms.txt', 200],
|
|
260
|
+
['GET /sitemap.xml', 200],
|
|
261
|
+
['GET /sitemaps/:slug', 404],
|
|
262
|
+
['GET /robots.txt', 200],
|
|
263
|
+
['GET /og.png', 200],
|
|
264
|
+
['GET /seo/schema/:documentId', 401],
|
|
265
|
+
['GET /seo/meta/:documentId', 401],
|
|
266
|
+
['GET /seo/summary', 401],
|
|
267
|
+
['GET /seo/config', 401],
|
|
268
|
+
['PUT /seo/config', 401],
|
|
269
|
+
['GET /seo/index-status', 401],
|
|
270
|
+
['GET /seo/sitemap/status', 401],
|
|
271
|
+
['POST /seo/sitemap/regenerate', 401],
|
|
272
|
+
['GET /seo/crawl-settings', 401],
|
|
273
|
+
['PUT /seo/crawl-settings', 401],
|
|
274
|
+
['GET /seo/robots', 401],
|
|
275
|
+
['PUT /seo/robots', 401],
|
|
276
|
+
['GET /resolve', 400],
|
|
277
|
+
['GET /folders', 401],
|
|
278
|
+
['POST /folders', 401],
|
|
279
|
+
['PUT /folders/:id', 401],
|
|
280
|
+
['DELETE /folders/:id', 401],
|
|
281
|
+
['PUT /documents/:id/folder', 401],
|
|
282
|
+
['PUT /media/:id/folder', 401],
|
|
283
|
+
['POST /preview/token', 401],
|
|
284
|
+
['GET /preview/:collection/:id', 401],
|
|
285
|
+
['GET /preview/stream', 401],
|
|
286
|
+
['POST /documents/:documentId/comments', 401],
|
|
287
|
+
['GET /documents/:documentId/comments', 401],
|
|
288
|
+
['PATCH /comments/:id', 401],
|
|
289
|
+
['POST /comments/:id/resolve', 401],
|
|
290
|
+
['POST /comments/:id/reopen', 401],
|
|
291
|
+
['DELETE /comments/:id', 401],
|
|
292
|
+
['GET /notifications', 401],
|
|
293
|
+
['GET /notifications/unread-count', 401],
|
|
294
|
+
['POST /notifications/:id/read', 401],
|
|
295
|
+
['POST /notifications/read-all', 401],
|
|
296
|
+
['GET /notifications/stream', 401],
|
|
297
|
+
['POST /collections/:slug/:id/workflow', 401],
|
|
298
|
+
['GET /collections/:slug/:id/workflow', 401],
|
|
299
|
+
['GET /collections/:slug/:id/versions', 401],
|
|
300
|
+
['POST /collections/:slug/:id/versions/:versionId/restore', 401],
|
|
301
|
+
['POST /collections/:slug/:id/schedule', 401],
|
|
302
|
+
['DELETE /collections/:slug/:id/schedule', 401],
|
|
303
|
+
['POST /scheduling/run', 401],
|
|
304
|
+
['GET /cron/publish', 401],
|
|
305
|
+
['POST /cron/publish', 401],
|
|
306
|
+
['GET /cron/cleanup', 401],
|
|
307
|
+
['POST /cron/cleanup', 401],
|
|
308
|
+
['GET /cron/seo-scan', 401],
|
|
309
|
+
['POST /cron/seo-scan', 401],
|
|
310
|
+
['GET /cron/content-health', 401],
|
|
311
|
+
['POST /cron/content-health', 401],
|
|
312
|
+
['GET /scheduling/calendar', 401],
|
|
313
|
+
['GET /public/globals/:slug', 404],
|
|
314
|
+
['GET /public/navigations/:slug', 404],
|
|
315
|
+
['GET /public/brand', 200],
|
|
316
|
+
['GET /appearance', 401],
|
|
317
|
+
['GET /security', 401],
|
|
318
|
+
['GET /ai/status', 401],
|
|
319
|
+
['GET /ai/settings', 401],
|
|
320
|
+
['PUT /ai/settings', 401],
|
|
321
|
+
['POST /ai/providers', 401],
|
|
322
|
+
['PUT /ai/providers/:id', 401],
|
|
323
|
+
['DELETE /ai/providers/:id', 401],
|
|
324
|
+
['POST /ai/providers/:id/test', 401],
|
|
325
|
+
['POST /ai/providers/:id/sync-models', 401],
|
|
326
|
+
['GET /ai/models', 401],
|
|
327
|
+
['GET /ai/usage/summary', 401],
|
|
328
|
+
['PUT /security', 401],
|
|
329
|
+
['POST /security/sessions/revoke-all', 401],
|
|
330
|
+
['GET /globals/:slug', 401],
|
|
331
|
+
['PUT /globals/:slug', 401],
|
|
332
|
+
['GET /webhooks', 401],
|
|
333
|
+
['POST /webhooks', 401],
|
|
334
|
+
['PUT /webhooks/:id', 401],
|
|
335
|
+
['DELETE /webhooks/:id', 401],
|
|
336
|
+
['GET /webhooks/:id/deliveries', 401],
|
|
337
|
+
['POST /webhooks/retry', 401],
|
|
338
|
+
['GET /script-tags/resolve', 200],
|
|
339
|
+
['GET /script-tags', 401],
|
|
340
|
+
['POST /script-tags', 401],
|
|
341
|
+
['PUT /script-tags/:id', 401],
|
|
342
|
+
['DELETE /script-tags/:id', 401],
|
|
343
|
+
['GET /presence/:documentId', 401],
|
|
344
|
+
['POST /presence/:documentId/heartbeat', 401],
|
|
345
|
+
['GET /page-templates', 401],
|
|
346
|
+
['GET /page-templates/:id', 401],
|
|
347
|
+
['POST /page-templates', 401],
|
|
348
|
+
['PUT /page-templates/:id', 401],
|
|
349
|
+
['DELETE /page-templates/:id', 401],
|
|
350
|
+
['POST /page-templates/seed', 401],
|
|
351
|
+
['GET /saved-sections', 401],
|
|
352
|
+
['GET /saved-sections/:id', 401],
|
|
353
|
+
['POST /saved-sections', 401],
|
|
354
|
+
['PUT /saved-sections/:id', 401],
|
|
355
|
+
['DELETE /saved-sections/:id', 401],
|
|
356
|
+
['POST /page-builder/generate', 401],
|
|
357
|
+
['POST /page-builder/generate-block', 401],
|
|
358
|
+
['POST /page-builder/create', 401],
|
|
359
|
+
['POST /collections/:slug/ai-create', 401],
|
|
360
|
+
['POST /page-builder/audit-a11y', 401],
|
|
361
|
+
['POST /page-builder/fix-a11y', 401],
|
|
362
|
+
['POST /ai/audit-document', 401],
|
|
363
|
+
['POST /ai/coauthor', 401],
|
|
364
|
+
['POST /ai/suggest-internal-links', 401],
|
|
365
|
+
['POST /ai/media-metadata', 401],
|
|
366
|
+
['POST /ai/seo/generate-field', 401],
|
|
367
|
+
['POST /ai/seo/explain-issue', 401],
|
|
368
|
+
['POST /ai/seo/generate-schema', 401],
|
|
369
|
+
['POST /ai/seo/summarize', 401],
|
|
370
|
+
];
|
|
371
|
+
/**
|
|
372
|
+
* Routes that deliberately answer anonymous requests with 2xx, and why.
|
|
373
|
+
* Everything else that is not 401 is anonymous-reachable but rejects the
|
|
374
|
+
* sweep's dummy input (400/404), which the table above already pins down.
|
|
375
|
+
*/
|
|
376
|
+
const ANONYMOUS_SURFACE = [
|
|
377
|
+
['GET /auth/csrf', 'issues the CSRF token cookie that login itself requires'],
|
|
378
|
+
['GET /openapi.json', 'public API discovery — schema-shape metadata only'],
|
|
379
|
+
['GET /collections', 'public discovery for agents/MCP, same data as OpenAPI'],
|
|
380
|
+
['GET /docs', 'public HTML API docs'],
|
|
381
|
+
['GET /captcha/config', 'public form embeds need the captcha site key'],
|
|
382
|
+
['GET /setup/status', 'setup wizard probe; reveals only whether setup ran'],
|
|
383
|
+
['GET /health', 'health probe for uptime monitors'],
|
|
384
|
+
['OPTIONS /public/forms/:slug', 'CORS preflight for cross-origin form embeds'],
|
|
385
|
+
['OPTIONS /public/forms/:slug/submit', 'CORS preflight for cross-origin form embeds'],
|
|
386
|
+
['GET /redirects/resolve', 'public-site middleware resolves redirects per-request'],
|
|
387
|
+
['GET /redirects/public', 'public-site middleware bulk-loads the redirect map'],
|
|
388
|
+
['POST /redirects/record-hit', 'public-site middleware logs redirect hits'],
|
|
389
|
+
['POST /redirects/record-404', 'public-site frontend logs broken links'],
|
|
390
|
+
['GET /llms.txt', 'public SEO artifact'],
|
|
391
|
+
['GET /sitemap.xml', 'public SEO artifact'],
|
|
392
|
+
['GET /robots.txt', 'public SEO artifact'],
|
|
393
|
+
['GET /og.png', 'public Open Graph image'],
|
|
394
|
+
['GET /public/brand', 'public site brand settings (colors, logo)'],
|
|
395
|
+
['GET /script-tags/resolve', 'public site resolves enabled script tags'],
|
|
396
|
+
];
|
|
397
|
+
// ─── Tests ────────────────────────────────────────────────────────────
|
|
398
|
+
describe('route inventory contract', () => {
|
|
399
|
+
it('registers exactly the expected routes, in registration order', () => {
|
|
400
|
+
const actual = router.routes.map((r) => `${r.method} ${r.path}`);
|
|
401
|
+
expect(actual).toEqual(ROUTE_CONTRACT.map(([route]) => route));
|
|
402
|
+
});
|
|
403
|
+
it('the contract table has no duplicate routes', () => {
|
|
404
|
+
const routes = ROUTE_CONTRACT.map(([route]) => route);
|
|
405
|
+
expect(new Set(routes).size).toBe(routes.length);
|
|
406
|
+
});
|
|
407
|
+
it('every 2xx route is documented in ANONYMOUS_SURFACE (and vice versa)', () => {
|
|
408
|
+
const documented = ANONYMOUS_SURFACE.map(([route]) => route).sort();
|
|
409
|
+
const anonymous2xx = ROUTE_CONTRACT.filter(([, status]) => status >= 200 && status < 300)
|
|
410
|
+
.map(([route]) => route)
|
|
411
|
+
.sort();
|
|
412
|
+
expect(anonymous2xx).toEqual(documented);
|
|
413
|
+
});
|
|
414
|
+
});
|
|
415
|
+
describe('unauthenticated status contract', () => {
|
|
416
|
+
it.each(ROUTE_CONTRACT.map(([route, status]) => ({ route, status })))('$route -> $status', async ({ route, status }) => {
|
|
417
|
+
const [method, pattern] = route.split(' ');
|
|
418
|
+
const res = await anonymousRequest(method, pattern);
|
|
419
|
+
expect(res.status).toBe(status);
|
|
420
|
+
// 5xx on anonymous traffic is never acceptable, regardless of the table.
|
|
421
|
+
expect(res.status, `${route} returned a server error`).toBeLessThan(500);
|
|
422
|
+
// Error envelope contract: JSON error responses carry { error: string }.
|
|
423
|
+
const contentType = res.headers.get('content-type') ?? '';
|
|
424
|
+
if (res.status >= 400 && contentType.includes('application/json')) {
|
|
425
|
+
const body = (await res.json());
|
|
426
|
+
expect(typeof body.error, `${route} error body missing "error" key`).toBe('string');
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
});
|
|
430
|
+
//# sourceMappingURL=route-contracts.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-contracts.test.js","sourceRoot":"","sources":["../../../src/__tests__/api/route-contracts.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { defineConfig } from './config/index.js';
|
|
2
|
+
export { defineSectionTypes, validateSectionTypeInputs } from './sections/define.js';
|
|
3
|
+
export type { CustomSectionTypeInput, SectionsConfig } from './sections/types.js';
|
|
2
4
|
export type { ActuateCMSConfig, CollectionDefinition, CollectionSEOConfig, FieldDefinition, GlobalDefinition, AuthConfig, PluginDefinition, DatabaseAdapter, StorageAdapter, CacheAdapter, EmailAdapter, SchedulerAdapter, RateLimitAdapter, AdminBrandingConfig, AdminConfig, I18nConfig, AccessConfig, LayoutConfig, LayoutRegionConfig, AccessFunction, PasswordPolicy, BlockDefinition, } from './config/types.js';
|
|
3
5
|
export { CollectionRegistry, collectionRegistry, blogPostCollection, caseStudyCollection, portfolioCollection, serviceCollection, locationCollection, teamMemberCollection, faqCollection, testimonialCollection, getTemplatesForCollection, } from './collections/index.js';
|
|
4
6
|
export type { CollectionPresetOverrides } from './collections/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAGvE,OAAO,EACL,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGhG,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGpF,OAAO,EACL,QAAQ,IAAI,eAAe,EAC3B,cAAc,IAAI,qBAAqB,EACvC,aAAa,IAAI,oBAAoB,EACrC,cAAc,IAAI,qBAAqB,EACvC,cAAc,IAAI,qBAAqB,EACvC,aAAa,IAAI,oBAAoB,EACrC,cAAc,IAAI,qBAAqB,EACvC,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAG7F,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,gCAAgC,EAChC,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,GACb,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,SAAS,EACT,cAAc,EACd,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAClE,YAAY,EACV,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACxD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAG/E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC1E,YAAY,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,GACd,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGvE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAC3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAGnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGlF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC1F,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGxF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5F,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG9F,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAChG,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,YAAY,EACV,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,gCAAgC,EAChC,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGnF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACxF,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAChG,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACzF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACxF,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGlF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,UAAU,EACV,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACzE,YAAY,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAG/E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/E,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG/D,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGnF,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG3F,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,OAAO,EACP,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,IAAI,wBAAwB,EAC7C,QAAQ,IAAI,eAAe,EAC3B,WAAW,IAAI,kBAAkB,EACjC,YAAY,IAAI,mBAAmB,EACnC,cAAc,EACd,WAAW,IAAI,kBAAkB,EACjC,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,UAAU,GACX,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AACpF,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACjF,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAGvE,OAAO,EACL,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGhG,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGpF,OAAO,EACL,QAAQ,IAAI,eAAe,EAC3B,cAAc,IAAI,qBAAqB,EACvC,aAAa,IAAI,oBAAoB,EACrC,cAAc,IAAI,qBAAqB,EACvC,cAAc,IAAI,qBAAqB,EACvC,aAAa,IAAI,oBAAoB,EACrC,cAAc,IAAI,qBAAqB,EACvC,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAG7F,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,gCAAgC,EAChC,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,GACb,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,SAAS,EACT,cAAc,EACd,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAClE,YAAY,EACV,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACxD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAG/E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC1E,YAAY,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,GACd,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGvE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAC3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAGnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGlF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC1F,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGxF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5F,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG9F,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAChG,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,YAAY,EACV,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,gCAAgC,EAChC,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGnF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACxF,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAChG,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACzF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACxF,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGlF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,UAAU,EACV,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACzE,YAAY,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAG/E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/E,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG/D,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGnF,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG3F,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,OAAO,EACP,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,IAAI,wBAAwB,EAC7C,QAAQ,IAAI,eAAe,EAC3B,WAAW,IAAI,kBAAkB,EACjC,YAAY,IAAI,mBAAmB,EACnC,cAAc,EACd,WAAW,IAAI,kBAAkB,EACjC,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,UAAU,GACX,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
// Configuration
|
|
2
2
|
export { defineConfig } from './config/index.js';
|
|
3
|
+
// Typed authoring helper for `sections.types` — lives beside defineConfig so
|
|
4
|
+
// custom section types are defined with the same fail-fast ergonomics. The
|
|
5
|
+
// full flat-section model stays on the `/page-sections` subpath.
|
|
6
|
+
export { defineSectionTypes, validateSectionTypeInputs } from './sections/define.js';
|
|
3
7
|
// Collections
|
|
4
8
|
export { CollectionRegistry, collectionRegistry, blogPostCollection, caseStudyCollection, portfolioCollection, serviceCollection, locationCollection, teamMemberCollection, faqCollection, testimonialCollection, getTemplatesForCollection, } from './collections/index.js';
|
|
5
9
|
// Fields
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.test.d.ts","sourceRoot":"","sources":["../../../src/sections/__tests__/define.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { defineSectionTypes, validateSectionTypeInputs, SECTION_FIELD_TYPES } from '../define.js';
|
|
3
|
+
const pricing = {
|
|
4
|
+
id: 'pricing',
|
|
5
|
+
name: 'Pricing Table',
|
|
6
|
+
scope: ['page'],
|
|
7
|
+
fields: [
|
|
8
|
+
{ key: 'heading', label: 'Heading', type: 'text', required: true },
|
|
9
|
+
{
|
|
10
|
+
key: 'tier',
|
|
11
|
+
label: 'Tier',
|
|
12
|
+
type: 'select',
|
|
13
|
+
options: [{ label: 'Free', value: 'free' }],
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
describe('defineSectionTypes', () => {
|
|
18
|
+
it('returns the input unchanged for valid definitions', () => {
|
|
19
|
+
const input = [pricing];
|
|
20
|
+
expect(defineSectionTypes(input)).toBe(input);
|
|
21
|
+
});
|
|
22
|
+
it('accepts a type with no editable fields', () => {
|
|
23
|
+
expect(() => defineSectionTypes([{ id: 'divider', name: 'Divider', scope: ['page'], fields: [] }])).not.toThrow();
|
|
24
|
+
});
|
|
25
|
+
it('throws when an id collides with a built-in section type', () => {
|
|
26
|
+
expect(() => defineSectionTypes([{ id: 'hero', name: 'Evil Hero', scope: ['page'], fields: [] }])).toThrow(/"hero" collides with a built-in/);
|
|
27
|
+
});
|
|
28
|
+
it('throws on duplicate ids within the array', () => {
|
|
29
|
+
expect(() => defineSectionTypes([pricing, { ...pricing }])).toThrow(/"pricing" is duplicated/);
|
|
30
|
+
});
|
|
31
|
+
it('throws on a blank id and a blank name', () => {
|
|
32
|
+
expect(() => defineSectionTypes([{ id: ' ', name: '', scope: ['page'], fields: [] }])).toThrow(/id must be a non-empty string[\s\S]*name must be a non-empty string/);
|
|
33
|
+
});
|
|
34
|
+
it('throws on an empty or invalid scope', () => {
|
|
35
|
+
expect(() => defineSectionTypes([{ ...pricing, id: 'a', scope: [] }])).toThrow(/scope must be a non-empty array/);
|
|
36
|
+
expect(() => defineSectionTypes([{ ...pricing, id: 'b', scope: ['blog'] }])).toThrow(/valid scopes are 'page' and 'post'/);
|
|
37
|
+
});
|
|
38
|
+
it('throws on an unknown field type and names the valid ones', () => {
|
|
39
|
+
expect(() => defineSectionTypes([
|
|
40
|
+
{
|
|
41
|
+
id: 'broken',
|
|
42
|
+
name: 'Broken',
|
|
43
|
+
scope: ['page'],
|
|
44
|
+
fields: [{ key: 'x', label: 'X', type: 'markdown' }],
|
|
45
|
+
},
|
|
46
|
+
])).toThrow(/"markdown" is not a known field type[\s\S]*text, textarea/);
|
|
47
|
+
});
|
|
48
|
+
it('throws on duplicate field keys within a type', () => {
|
|
49
|
+
expect(() => defineSectionTypes([
|
|
50
|
+
{
|
|
51
|
+
id: 'dupes',
|
|
52
|
+
name: 'Dupes',
|
|
53
|
+
scope: ['page'],
|
|
54
|
+
fields: [
|
|
55
|
+
{ key: 'heading', label: 'A', type: 'text' },
|
|
56
|
+
{ key: 'heading', label: 'B', type: 'text' },
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
])).toThrow(/"heading" is duplicated/);
|
|
60
|
+
});
|
|
61
|
+
it('requires options for select fields and a sub-schema for repeaters', () => {
|
|
62
|
+
expect(() => defineSectionTypes([
|
|
63
|
+
{
|
|
64
|
+
id: 'sel',
|
|
65
|
+
name: 'Sel',
|
|
66
|
+
scope: ['page'],
|
|
67
|
+
fields: [{ key: 'mode', label: 'Mode', type: 'select' }],
|
|
68
|
+
},
|
|
69
|
+
])).toThrow(/select field and must declare a non-empty `options` array/);
|
|
70
|
+
expect(() => defineSectionTypes([
|
|
71
|
+
{
|
|
72
|
+
id: 'rep',
|
|
73
|
+
name: 'Rep',
|
|
74
|
+
scope: ['page'],
|
|
75
|
+
fields: [{ key: 'rows', label: 'Rows', type: 'repeater' }],
|
|
76
|
+
},
|
|
77
|
+
])).toThrow(/repeater and must declare a non-empty `fields` sub-schema/);
|
|
78
|
+
});
|
|
79
|
+
it('validates repeater sub-fields recursively', () => {
|
|
80
|
+
expect(() => defineSectionTypes([
|
|
81
|
+
{
|
|
82
|
+
id: 'plans',
|
|
83
|
+
name: 'Plans',
|
|
84
|
+
scope: ['page'],
|
|
85
|
+
fields: [
|
|
86
|
+
{
|
|
87
|
+
key: 'rows',
|
|
88
|
+
label: 'Rows',
|
|
89
|
+
type: 'repeater',
|
|
90
|
+
fields: [{ key: '', label: 'Bad', type: 'text' }],
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
])).toThrow(/fields\[0\]\.fields\[0\]\.key must be a non-empty string/);
|
|
95
|
+
});
|
|
96
|
+
it('aggregates every problem into one error', () => {
|
|
97
|
+
let message = '';
|
|
98
|
+
try {
|
|
99
|
+
defineSectionTypes([
|
|
100
|
+
{ id: 'hero', name: '', scope: [], fields: [] },
|
|
101
|
+
{ id: '', name: 'Two', scope: ['page'], fields: [] },
|
|
102
|
+
]);
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
message = err.message;
|
|
106
|
+
}
|
|
107
|
+
expect(message).toMatch(/Invalid custom section type definitions:/);
|
|
108
|
+
// One bullet per problem, each prefixed with its path.
|
|
109
|
+
expect(message.match(/^ {2}- /gm)?.length).toBeGreaterThanOrEqual(4);
|
|
110
|
+
expect(message).toContain('types[0]');
|
|
111
|
+
expect(message).toContain('types[1]');
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
describe('validateSectionTypeInputs', () => {
|
|
115
|
+
it('returns an empty array for valid input', () => {
|
|
116
|
+
expect(validateSectionTypeInputs([pricing])).toEqual([]);
|
|
117
|
+
});
|
|
118
|
+
it('rejects non-array input', () => {
|
|
119
|
+
expect(validateSectionTypeInputs({})).toEqual([
|
|
120
|
+
'defineSectionTypes expects an array of section type definitions',
|
|
121
|
+
]);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
describe('SECTION_FIELD_TYPES', () => {
|
|
125
|
+
it('covers the repeater shorthands and core kinds', () => {
|
|
126
|
+
expect(SECTION_FIELD_TYPES).toContain('stats');
|
|
127
|
+
expect(SECTION_FIELD_TYPES).toContain('gallery');
|
|
128
|
+
expect(SECTION_FIELD_TYPES).toContain('repeater');
|
|
129
|
+
expect(SECTION_FIELD_TYPES).toContain('text');
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=define.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.test.js","sourceRoot":"","sources":["../../../src/sections/__tests__/define.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CustomSectionTypeInput, SectionFieldType } from './types.js';
|
|
2
|
+
/** Runtime mirror of the {@link SectionFieldType} union, for validation. */
|
|
3
|
+
export declare const SECTION_FIELD_TYPES: readonly SectionFieldType[];
|
|
4
|
+
/**
|
|
5
|
+
* Validate an array of custom section type definitions, returning every
|
|
6
|
+
* problem found (empty array = valid). Exposed for tooling that wants the
|
|
7
|
+
* issue list without throwing; most consumers should use
|
|
8
|
+
* {@link defineSectionTypes} instead.
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateSectionTypeInputs(types: readonly CustomSectionTypeInput[]): string[];
|
|
11
|
+
/**
|
|
12
|
+
* Define custom section types with eager validation. Returns the input
|
|
13
|
+
* unchanged (identity function) so the result can be passed straight to
|
|
14
|
+
* `sections.types` in `actuate.config.ts` — and to
|
|
15
|
+
* `registerSectionRenderer` lookups on the public site.
|
|
16
|
+
*
|
|
17
|
+
* @throws Error listing every validation problem when any definition is
|
|
18
|
+
* malformed, duplicates an id, or shadows a built-in section type.
|
|
19
|
+
*/
|
|
20
|
+
export declare function defineSectionTypes<const T extends readonly CustomSectionTypeInput[]>(types: T): T;
|
|
21
|
+
//# sourceMappingURL=define.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/sections/define.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,sBAAsB,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE3F,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAa1D,CAAA;AAsDD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,GAAG,MAAM,EAAE,CAyC5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CASjG"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed authoring helper for custom section types.
|
|
3
|
+
*
|
|
4
|
+
* `defineSectionTypes` is to `sections.types` what `defineConfig` is to the
|
|
5
|
+
* config file: an identity function that gives consumers full type inference
|
|
6
|
+
* and eager, fail-fast validation at module-evaluation time.
|
|
7
|
+
*
|
|
8
|
+
* The runtime registry (`registerSectionTypes`) deliberately SKIPS invalid
|
|
9
|
+
* entries so a malformed config can never crash a running site — but that
|
|
10
|
+
* silence makes authoring mistakes (a typo'd field type, an id that collides
|
|
11
|
+
* with a built-in) surface only as a mysteriously missing section type in the
|
|
12
|
+
* Add Section gallery. This helper is the loud counterpart: it throws a
|
|
13
|
+
* single aggregated error naming every problem with its exact path, so
|
|
14
|
+
* mistakes are caught where the types are written.
|
|
15
|
+
*
|
|
16
|
+
* Usage in a consumer app:
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { defineConfig, defineSectionTypes } from '@actuate-media/cms-core'
|
|
20
|
+
*
|
|
21
|
+
* const customSections = defineSectionTypes([
|
|
22
|
+
* {
|
|
23
|
+
* id: 'pricing',
|
|
24
|
+
* name: 'Pricing Table',
|
|
25
|
+
* scope: ['page'],
|
|
26
|
+
* fields: [{ key: 'heading', label: 'Heading', type: 'text', required: true }],
|
|
27
|
+
* },
|
|
28
|
+
* ])
|
|
29
|
+
*
|
|
30
|
+
* export default defineConfig({ sections: { types: customSections }, ... })
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
import { SECTION_TYPES } from './registry.js';
|
|
34
|
+
/** Runtime mirror of the {@link SectionFieldType} union, for validation. */
|
|
35
|
+
export const SECTION_FIELD_TYPES = [
|
|
36
|
+
'text',
|
|
37
|
+
'textarea',
|
|
38
|
+
'richText',
|
|
39
|
+
'url',
|
|
40
|
+
'media',
|
|
41
|
+
'select',
|
|
42
|
+
'boolean',
|
|
43
|
+
'color',
|
|
44
|
+
'relationship',
|
|
45
|
+
'repeater',
|
|
46
|
+
'stats',
|
|
47
|
+
'gallery',
|
|
48
|
+
];
|
|
49
|
+
const FIELD_TYPE_SET = new Set(SECTION_FIELD_TYPES);
|
|
50
|
+
const SCOPES = new Set(['page', 'post']);
|
|
51
|
+
function isNonBlankString(v) {
|
|
52
|
+
return typeof v === 'string' && v.trim().length > 0;
|
|
53
|
+
}
|
|
54
|
+
function validateFields(fields, path, errors) {
|
|
55
|
+
if (!Array.isArray(fields)) {
|
|
56
|
+
errors.push(`${path}.fields must be an array (use [] for a type with no editable fields)`);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const seenKeys = new Set();
|
|
60
|
+
fields.forEach((field, i) => {
|
|
61
|
+
const fpath = `${path}.fields[${i}]`;
|
|
62
|
+
if (!field || typeof field !== 'object') {
|
|
63
|
+
errors.push(`${fpath} must be an object`);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (!isNonBlankString(field.key)) {
|
|
67
|
+
errors.push(`${fpath}.key must be a non-empty string`);
|
|
68
|
+
}
|
|
69
|
+
else if (seenKeys.has(field.key)) {
|
|
70
|
+
errors.push(`${fpath}.key "${field.key}" is duplicated within ${path}`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
seenKeys.add(field.key);
|
|
74
|
+
}
|
|
75
|
+
if (!isNonBlankString(field.label)) {
|
|
76
|
+
errors.push(`${fpath}.label must be a non-empty string`);
|
|
77
|
+
}
|
|
78
|
+
if (!FIELD_TYPE_SET.has(field.type)) {
|
|
79
|
+
errors.push(`${fpath}.type "${String(field.type)}" is not a known field type. ` +
|
|
80
|
+
`Valid types: ${SECTION_FIELD_TYPES.join(', ')}`);
|
|
81
|
+
}
|
|
82
|
+
if (field.type === 'select' && (!Array.isArray(field.options) || field.options.length === 0)) {
|
|
83
|
+
errors.push(`${fpath} is a select field and must declare a non-empty \`options\` array`);
|
|
84
|
+
}
|
|
85
|
+
if (field.type === 'repeater') {
|
|
86
|
+
if (!Array.isArray(field.fields) || field.fields.length === 0) {
|
|
87
|
+
errors.push(`${fpath} is a repeater and must declare a non-empty \`fields\` sub-schema`);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
validateFields(field.fields, fpath, errors);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Validate an array of custom section type definitions, returning every
|
|
97
|
+
* problem found (empty array = valid). Exposed for tooling that wants the
|
|
98
|
+
* issue list without throwing; most consumers should use
|
|
99
|
+
* {@link defineSectionTypes} instead.
|
|
100
|
+
*/
|
|
101
|
+
export function validateSectionTypeInputs(types) {
|
|
102
|
+
const errors = [];
|
|
103
|
+
if (!Array.isArray(types)) {
|
|
104
|
+
return ['defineSectionTypes expects an array of section type definitions'];
|
|
105
|
+
}
|
|
106
|
+
const seenIds = new Set();
|
|
107
|
+
types.forEach((type, i) => {
|
|
108
|
+
const path = `types[${i}]`;
|
|
109
|
+
if (!type || typeof type !== 'object') {
|
|
110
|
+
errors.push(`${path} must be an object`);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (!isNonBlankString(type.id)) {
|
|
114
|
+
errors.push(`${path}.id must be a non-empty string`);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
if (type.id in SECTION_TYPES) {
|
|
118
|
+
errors.push(`${path}.id "${type.id}" collides with a built-in section type. ` +
|
|
119
|
+
'Built-ins always win on an id collision, so this type would be silently ignored — pick a different id.');
|
|
120
|
+
}
|
|
121
|
+
if (seenIds.has(type.id)) {
|
|
122
|
+
errors.push(`${path}.id "${type.id}" is duplicated — section type ids must be unique`);
|
|
123
|
+
}
|
|
124
|
+
seenIds.add(type.id);
|
|
125
|
+
}
|
|
126
|
+
if (!isNonBlankString(type.name)) {
|
|
127
|
+
errors.push(`${path}.name must be a non-empty string`);
|
|
128
|
+
}
|
|
129
|
+
if (!Array.isArray(type.scope) || type.scope.length === 0) {
|
|
130
|
+
errors.push(`${path}.scope must be a non-empty array of 'page' | 'post'`);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
for (const s of type.scope) {
|
|
134
|
+
if (!SCOPES.has(s)) {
|
|
135
|
+
errors.push(`${path}.scope contains "${String(s)}" — valid scopes are 'page' and 'post'`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
validateFields(type.fields, path, errors);
|
|
140
|
+
});
|
|
141
|
+
return errors;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Define custom section types with eager validation. Returns the input
|
|
145
|
+
* unchanged (identity function) so the result can be passed straight to
|
|
146
|
+
* `sections.types` in `actuate.config.ts` — and to
|
|
147
|
+
* `registerSectionRenderer` lookups on the public site.
|
|
148
|
+
*
|
|
149
|
+
* @throws Error listing every validation problem when any definition is
|
|
150
|
+
* malformed, duplicates an id, or shadows a built-in section type.
|
|
151
|
+
*/
|
|
152
|
+
export function defineSectionTypes(types) {
|
|
153
|
+
const errors = validateSectionTypeInputs(types);
|
|
154
|
+
if (errors.length > 0) {
|
|
155
|
+
throw new Error(`Invalid custom section type definition${errors.length > 1 ? 's' : ''}:\n` +
|
|
156
|
+
errors.map((e) => ` - ${e}`).join('\n'));
|
|
157
|
+
}
|
|
158
|
+
return types;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=define.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/sections/define.ts"],"names":[],"mappings":"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"}
|
package/dist/sections/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { SECTION_TYPES, SECTION_TYPE_LIST, getSectionType, getSectionTypesForScope, getAllSectionTypes, sectionTypeLabel, isKnownSectionType, registerSectionTypes, resetCustomSectionTypes, resolveCustomSectionTypes, } from './registry.js';
|
|
10
10
|
export { generateSectionId, createSection, buildSection, addSection, removeSection, duplicateSection, toggleSectionVisibility, setSectionVisibility, moveSection, reorderSections, updateSectionContent, updateSectionSettings, updateSectionMeta, coerceSections, coerceSectionsWithReport, UnknownSectionTypeError, type CoerceSectionsOptions, type CoerceSectionsReport, type UnknownSectionStrategy, type UnknownSectionRef, defaultPostHeader, coercePostHeader, computeReadingTime, createPostTemplate, coercePostTemplate, } from './helpers.js';
|
|
11
|
+
export { defineSectionTypes, validateSectionTypeInputs, SECTION_FIELD_TYPES } from './define.js';
|
|
11
12
|
export { validateSectionContent } from './validate.js';
|
|
12
13
|
export { STATS_ROW_FIELDS, GALLERY_ROW_FIELDS, resolveRepeaterField, isRepeaterField, blankRepeaterRow, type ResolvedRepeater, type RepeaterRow, } from './fields.js';
|
|
13
14
|
export { layoutTreeToSections } from './bridge.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEhG,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
package/dist/sections/index.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { SECTION_TYPES, SECTION_TYPE_LIST, getSectionType, getSectionTypesForScope, getAllSectionTypes, sectionTypeLabel, isKnownSectionType, registerSectionTypes, resetCustomSectionTypes, resolveCustomSectionTypes, } from './registry.js';
|
|
10
10
|
export { generateSectionId, createSection, buildSection, addSection, removeSection, duplicateSection, toggleSectionVisibility, setSectionVisibility, moveSection, reorderSections, updateSectionContent, updateSectionSettings, updateSectionMeta, coerceSections, coerceSectionsWithReport, UnknownSectionTypeError, defaultPostHeader, coercePostHeader, computeReadingTime, createPostTemplate, coercePostTemplate, } from './helpers.js';
|
|
11
|
+
export { defineSectionTypes, validateSectionTypeInputs, SECTION_FIELD_TYPES } from './define.js';
|
|
11
12
|
export { validateSectionContent } from './validate.js';
|
|
12
13
|
export { STATS_ROW_FIELDS, GALLERY_ROW_FIELDS, resolveRepeaterField, isRepeaterField, blankRepeaterRow, } from './fields.js';
|
|
13
14
|
export { layoutTreeToSections } from './bridge.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EAKvB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GAGjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sections/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EAKvB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEhG,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GAGjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA"}
|