@actuate-media/cms-core 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/__tests__/api/api-key-auth.test.js +46 -9
  2. package/dist/__tests__/api/api-key-auth.test.js.map +1 -1
  3. package/dist/__tests__/api/public-seo.test.d.ts +2 -0
  4. package/dist/__tests__/api/public-seo.test.d.ts.map +1 -0
  5. package/dist/__tests__/api/public-seo.test.js +341 -0
  6. package/dist/__tests__/api/public-seo.test.js.map +1 -0
  7. package/dist/__tests__/collections/presets.test.d.ts +2 -0
  8. package/dist/__tests__/collections/presets.test.d.ts.map +1 -0
  9. package/dist/__tests__/collections/presets.test.js +141 -0
  10. package/dist/__tests__/collections/presets.test.js.map +1 -0
  11. package/dist/__tests__/fields/presets.test.d.ts +2 -0
  12. package/dist/__tests__/fields/presets.test.d.ts.map +1 -0
  13. package/dist/__tests__/fields/presets.test.js +99 -0
  14. package/dist/__tests__/fields/presets.test.js.map +1 -0
  15. package/dist/__tests__/security/api-key-enhanced.test.js.map +1 -1
  16. package/dist/__tests__/seo/page-meta.test.d.ts +2 -0
  17. package/dist/__tests__/seo/page-meta.test.d.ts.map +1 -0
  18. package/dist/__tests__/seo/page-meta.test.js +204 -0
  19. package/dist/__tests__/seo/page-meta.test.js.map +1 -0
  20. package/dist/api/handler-factory.d.ts.map +1 -1
  21. package/dist/api/handler-factory.js +2 -1
  22. package/dist/api/handler-factory.js.map +1 -1
  23. package/dist/api/handlers.d.ts.map +1 -1
  24. package/dist/api/handlers.js +370 -2
  25. package/dist/api/handlers.js.map +1 -1
  26. package/dist/collections/index.d.ts +2 -0
  27. package/dist/collections/index.d.ts.map +1 -1
  28. package/dist/collections/index.js +1 -0
  29. package/dist/collections/index.js.map +1 -1
  30. package/dist/collections/presets.d.ts +71 -0
  31. package/dist/collections/presets.d.ts.map +1 -0
  32. package/dist/collections/presets.js +504 -0
  33. package/dist/collections/presets.js.map +1 -0
  34. package/dist/config/types.d.ts +75 -0
  35. package/dist/config/types.d.ts.map +1 -1
  36. package/dist/fields/index.d.ts +1 -0
  37. package/dist/fields/index.d.ts.map +1 -1
  38. package/dist/fields/index.js +1 -0
  39. package/dist/fields/index.js.map +1 -1
  40. package/dist/fields/presets.d.ts +90 -0
  41. package/dist/fields/presets.d.ts.map +1 -0
  42. package/dist/fields/presets.js +253 -0
  43. package/dist/fields/presets.js.map +1 -0
  44. package/dist/index.d.ts +3 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +2 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/page-builder/schema.d.ts +8 -8
  49. package/dist/page-builder/templates.d.ts.map +1 -1
  50. package/dist/page-builder/templates.js +312 -0
  51. package/dist/page-builder/templates.js.map +1 -1
  52. package/dist/seo/index.d.ts +2 -0
  53. package/dist/seo/index.d.ts.map +1 -1
  54. package/dist/seo/index.js +1 -0
  55. package/dist/seo/index.js.map +1 -1
  56. package/dist/seo/page-meta.d.ts +79 -0
  57. package/dist/seo/page-meta.d.ts.map +1 -0
  58. package/dist/seo/page-meta.js +209 -0
  59. package/dist/seo/page-meta.js.map +1 -0
  60. package/package.json +1 -1
@@ -31,7 +31,12 @@ function createMockDB(opts) {
31
31
  document: {
32
32
  findMany: async () => [],
33
33
  count: async () => 0,
34
- create: async ({ data }) => ({ ...data, id: 'doc-1', createdAt: new Date(), updatedAt: new Date() }),
34
+ create: async ({ data }) => ({
35
+ ...data,
36
+ id: 'doc-1',
37
+ createdAt: new Date(),
38
+ updatedAt: new Date(),
39
+ }),
35
40
  },
36
41
  user: {},
37
42
  session: {},
@@ -66,7 +71,11 @@ describe('API key authentication', () => {
66
71
  initDB(db);
67
72
  const handler = handleActuateAPI({
68
73
  prismaClient: db,
69
- config: { collections: { posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} } } },
74
+ config: {
75
+ collections: {
76
+ posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} },
77
+ },
78
+ },
70
79
  });
71
80
  const response = await handler(new Request('https://example.com/api/cms/collections/posts', {
72
81
  headers: { Authorization: `Bearer ${key}` },
@@ -79,7 +88,11 @@ describe('API key authentication', () => {
79
88
  initDB(db);
80
89
  const handler = handleActuateAPI({
81
90
  prismaClient: db,
82
- config: { collections: { posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} } } },
91
+ config: {
92
+ collections: {
93
+ posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} },
94
+ },
95
+ },
83
96
  });
84
97
  const fakeKey = 'act_sk_' + 'f'.repeat(64);
85
98
  const response = await handler(new Request('https://example.com/api/cms/collections/posts', {
@@ -94,7 +107,11 @@ describe('API key authentication', () => {
94
107
  initDB(db);
95
108
  const handler = handleActuateAPI({
96
109
  prismaClient: db,
97
- config: { collections: { posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} } } },
110
+ config: {
111
+ collections: {
112
+ posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} },
113
+ },
114
+ },
98
115
  });
99
116
  const response = await handler(new Request('https://example.com/api/cms/collections/posts', {
100
117
  headers: { Authorization: `Bearer ${key}` },
@@ -108,7 +125,11 @@ describe('API key authentication', () => {
108
125
  initDB(db);
109
126
  const handler = handleActuateAPI({
110
127
  prismaClient: db,
111
- config: { collections: { posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} } } },
128
+ config: {
129
+ collections: {
130
+ posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} },
131
+ },
132
+ },
112
133
  });
113
134
  const response = await handler(new Request('https://example.com/api/cms/collections/posts', {
114
135
  headers: { Authorization: `Bearer ${key}` },
@@ -139,7 +160,11 @@ describe('API key authentication', () => {
139
160
  initDB(db);
140
161
  const handler = handleActuateAPI({
141
162
  prismaClient: db,
142
- config: { collections: { posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} } } },
163
+ config: {
164
+ collections: {
165
+ posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} },
166
+ },
167
+ },
143
168
  });
144
169
  // POST should be blocked without `create` in actions — and crucially the
145
170
  // request has no CSRF token, so we're confirming that the API-key path
@@ -156,12 +181,20 @@ describe('API key authentication', () => {
156
181
  // should make it past CSRF, past scope, and at least into the action
157
182
  // handler. A 500/400 from the action layer here would still mean the
158
183
  // CSRF check passed (which is what we're asserting).
159
- const { key, record } = await makeKey({ collections: ['posts'], actions: ['create'], admin: false });
184
+ const { key, record } = await makeKey({
185
+ collections: ['posts'],
186
+ actions: ['create'],
187
+ admin: false,
188
+ });
160
189
  const db = createMockDB({ apiKey: record });
161
190
  initDB(db);
162
191
  const handler = handleActuateAPI({
163
192
  prismaClient: db,
164
- config: { collections: { posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} } } },
193
+ config: {
194
+ collections: {
195
+ posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} },
196
+ },
197
+ },
165
198
  });
166
199
  const response = await handler(new Request('https://example.com/api/cms/collections/posts', {
167
200
  method: 'POST',
@@ -180,7 +213,11 @@ describe('API key authentication', () => {
180
213
  initDB(db);
181
214
  const handler = handleActuateAPI({
182
215
  prismaClient: db,
183
- config: { collections: { posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} } } },
216
+ config: {
217
+ collections: {
218
+ posts: { slug: 'posts', labels: { singular: 'Post', plural: 'Posts' }, fields: {} },
219
+ },
220
+ },
184
221
  });
185
222
  const response = await handler(new Request('https://example.com/api/cms/collections/posts', {
186
223
  method: 'POST',
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-auth.test.js","sourceRoot":"","sources":["../../../src/__tests__/api/api-key-auth.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-key-auth.test.js","sourceRoot":"","sources":["../../../src/__tests__/api/api-key-auth.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-seo.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-seo.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/api/public-seo.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,341 @@
1
+ import { beforeEach, describe, expect, it } from 'vitest';
2
+ import { handleActuateAPI } from '../../api/index.js';
3
+ import { initDB } from '../../db.js';
4
+ function createMockDB(docs) {
5
+ const findFirst = async (args) => {
6
+ const where = args?.where ?? {};
7
+ const matches = docs.filter((d) => {
8
+ if (where.collection && d.collection !== where.collection)
9
+ return false;
10
+ if (where.status && d.status !== where.status)
11
+ return false;
12
+ if (where.deletedAt === null) {
13
+ // mock docs never carry deletedAt
14
+ }
15
+ if (where.OR && Array.isArray(where.OR)) {
16
+ return where.OR.some((clause) => {
17
+ if (clause.slug !== undefined)
18
+ return d.slug === clause.slug;
19
+ if (clause.data?.path && clause.data?.equals) {
20
+ const path = clause.data.path[0];
21
+ return d.data?.[path] === clause.data.equals;
22
+ }
23
+ return false;
24
+ });
25
+ }
26
+ return true;
27
+ });
28
+ const doc = matches[0];
29
+ if (!doc)
30
+ return null;
31
+ return {
32
+ ...doc,
33
+ publishedAt: doc.publishedAt ?? null,
34
+ updatedAt: doc.updatedAt ?? new Date('2026-03-15T12:00:00Z'),
35
+ createdAt: doc.createdAt ?? new Date('2026-01-01T00:00:00Z'),
36
+ structuredData: doc.structuredData ?? null,
37
+ };
38
+ };
39
+ const findMany = async (args) => {
40
+ const where = args?.where ?? {};
41
+ return docs.filter((d) => {
42
+ if (where.collection && d.collection !== where.collection)
43
+ return false;
44
+ if (where.status && d.status !== where.status)
45
+ return false;
46
+ return true;
47
+ });
48
+ };
49
+ return {
50
+ document: { findFirst, findMany },
51
+ user: {},
52
+ session: {},
53
+ media: {},
54
+ };
55
+ }
56
+ describe('public SEO routes', () => {
57
+ beforeEach(() => {
58
+ delete globalThis.__actuateConfig;
59
+ });
60
+ it('exposes /sitemap.xml as a sitemap index over configured collections', async () => {
61
+ const handler = handleActuateAPI({
62
+ prismaClient: createMockDB([]),
63
+ config: {
64
+ seo: { siteUrl: 'https://example.com', siteName: 'Example' },
65
+ collections: {
66
+ pages: {
67
+ slug: 'pages',
68
+ labels: { singular: 'Page', plural: 'Pages' },
69
+ urlPrefix: '',
70
+ type: 'page',
71
+ fields: {},
72
+ },
73
+ posts: {
74
+ slug: 'posts',
75
+ labels: { singular: 'Post', plural: 'Posts' },
76
+ urlPrefix: 'blog',
77
+ type: 'post',
78
+ fields: {},
79
+ },
80
+ },
81
+ },
82
+ });
83
+ const response = await handler(new Request('https://example.com/api/cms/sitemap.xml'));
84
+ expect(response.status).toBe(200);
85
+ expect(response.headers.get('Content-Type')).toContain('application/xml');
86
+ const text = await response.text();
87
+ expect(text).toContain('<sitemapindex');
88
+ expect(text).toContain('/api/cms/sitemaps/pages.xml');
89
+ expect(text).toContain('/api/cms/sitemaps/posts.xml');
90
+ });
91
+ it('respects seo.sitemap.excludeCollections', async () => {
92
+ const handler = handleActuateAPI({
93
+ prismaClient: createMockDB([]),
94
+ config: {
95
+ seo: {
96
+ siteUrl: 'https://example.com',
97
+ sitemap: { excludeCollections: ['drafts'] },
98
+ },
99
+ collections: {
100
+ pages: {
101
+ slug: 'pages',
102
+ labels: { singular: 'P', plural: 'Pp' },
103
+ urlPrefix: '',
104
+ fields: {},
105
+ },
106
+ drafts: {
107
+ slug: 'drafts',
108
+ labels: { singular: 'D', plural: 'Dd' },
109
+ urlPrefix: 'd',
110
+ fields: {},
111
+ },
112
+ },
113
+ },
114
+ });
115
+ const response = await handler(new Request('https://example.com/api/cms/sitemap.xml'));
116
+ const text = await response.text();
117
+ expect(text).toContain('/sitemaps/pages.xml');
118
+ expect(text).not.toContain('/sitemaps/drafts.xml');
119
+ });
120
+ it('returns 404 when seo.sitemap.disabled is true', async () => {
121
+ const handler = handleActuateAPI({
122
+ prismaClient: createMockDB([]),
123
+ config: {
124
+ seo: { siteUrl: 'https://example.com', sitemap: { disabled: true } },
125
+ collections: {
126
+ pages: { slug: 'pages', labels: { singular: 'P', plural: 'P' }, fields: {} },
127
+ },
128
+ },
129
+ });
130
+ const response = await handler(new Request('https://example.com/api/cms/sitemap.xml'));
131
+ expect(response.status).toBe(404);
132
+ });
133
+ it('renders per-collection sitemap with absolute URLs and lastmod', async () => {
134
+ const docs = [
135
+ {
136
+ id: '1',
137
+ slug: 'about',
138
+ collection: 'pages',
139
+ status: 'PUBLISHED',
140
+ data: { title: 'About', slug: 'about' },
141
+ updatedAt: new Date('2026-03-10T09:00:00Z'),
142
+ },
143
+ {
144
+ id: '2',
145
+ slug: 'contact',
146
+ collection: 'pages',
147
+ status: 'PUBLISHED',
148
+ data: { title: 'Contact', slug: 'contact' },
149
+ updatedAt: new Date('2026-03-11T09:00:00Z'),
150
+ },
151
+ ];
152
+ initDB(createMockDB(docs));
153
+ const handler = handleActuateAPI({
154
+ prismaClient: createMockDB(docs),
155
+ config: {
156
+ seo: { siteUrl: 'https://example.com' },
157
+ collections: {
158
+ pages: {
159
+ slug: 'pages',
160
+ labels: { singular: 'P', plural: 'Pp' },
161
+ urlPrefix: '',
162
+ type: 'page',
163
+ fields: {},
164
+ },
165
+ },
166
+ },
167
+ });
168
+ const response = await handler(new Request('https://example.com/api/cms/sitemaps/pages.xml'));
169
+ expect(response.status).toBe(200);
170
+ const text = await response.text();
171
+ expect(text).toContain('<urlset');
172
+ expect(text).toContain('<loc>https://example.com/about</loc>');
173
+ expect(text).toContain('<loc>https://example.com/contact</loc>');
174
+ expect(text).toContain('<priority>0.8</priority>');
175
+ expect(text).toContain('2026-03-10T09:00:00.000Z');
176
+ });
177
+ it('returns 404 for sitemap of an unknown collection', async () => {
178
+ const handler = handleActuateAPI({
179
+ prismaClient: createMockDB([]),
180
+ config: {
181
+ seo: { siteUrl: 'https://example.com' },
182
+ collections: {
183
+ pages: { slug: 'pages', labels: { singular: 'P', plural: 'P' }, fields: {} },
184
+ },
185
+ },
186
+ });
187
+ const response = await handler(new Request('https://example.com/api/cms/sitemaps/unknown.xml'));
188
+ expect(response.status).toBe(404);
189
+ });
190
+ it('includes archivePath in a post-type sitemap', async () => {
191
+ const docs = [
192
+ {
193
+ id: '1',
194
+ slug: 'first',
195
+ collection: 'posts',
196
+ status: 'PUBLISHED',
197
+ data: { title: 'First', slug: 'first' },
198
+ },
199
+ ];
200
+ initDB(createMockDB(docs));
201
+ const handler = handleActuateAPI({
202
+ prismaClient: createMockDB(docs),
203
+ config: {
204
+ seo: { siteUrl: 'https://example.com' },
205
+ collections: {
206
+ posts: {
207
+ slug: 'posts',
208
+ labels: { singular: 'Post', plural: 'Posts' },
209
+ urlPrefix: 'blog',
210
+ type: 'post',
211
+ seo: { archivePath: '/blog' },
212
+ fields: {},
213
+ },
214
+ },
215
+ },
216
+ });
217
+ const response = await handler(new Request('https://example.com/api/cms/sitemaps/posts.xml'));
218
+ const text = await response.text();
219
+ expect(text).toContain('<loc>https://example.com/blog</loc>');
220
+ expect(text).toContain('<loc>https://example.com/blog/first</loc>');
221
+ });
222
+ it('serves /robots.txt with a Sitemap reference', async () => {
223
+ const handler = handleActuateAPI({
224
+ prismaClient: createMockDB([]),
225
+ config: {
226
+ seo: { siteUrl: 'https://example.com' },
227
+ collections: {},
228
+ },
229
+ });
230
+ const response = await handler(new Request('https://example.com/api/cms/robots.txt'));
231
+ expect(response.status).toBe(200);
232
+ expect(response.headers.get('Content-Type')).toContain('text/plain');
233
+ const text = await response.text();
234
+ expect(text).toMatch(/^User-agent: \*/m);
235
+ expect(text).toContain('Disallow: /admin');
236
+ expect(text).toContain('Sitemap: https://example.com/api/cms/sitemap.xml');
237
+ });
238
+ it('appends AI bot blocks when seo.robots.blockAIBots is true', async () => {
239
+ const handler = handleActuateAPI({
240
+ prismaClient: createMockDB([]),
241
+ config: {
242
+ seo: { siteUrl: 'https://example.com', robots: { blockAIBots: true } },
243
+ collections: {},
244
+ },
245
+ });
246
+ const response = await handler(new Request('https://example.com/api/cms/robots.txt'));
247
+ const text = await response.text();
248
+ expect(text).toContain('User-agent: GPTBot');
249
+ expect(text).toContain('User-agent: ClaudeBot');
250
+ expect(text).toContain('Disallow: /');
251
+ });
252
+ it('returns 404 for /robots.txt when seo.robots.disabled is true', async () => {
253
+ const handler = handleActuateAPI({
254
+ prismaClient: createMockDB([]),
255
+ config: {
256
+ seo: { siteUrl: 'https://example.com', robots: { disabled: true } },
257
+ collections: {},
258
+ },
259
+ });
260
+ const response = await handler(new Request('https://example.com/api/cms/robots.txt'));
261
+ expect(response.status).toBe(404);
262
+ });
263
+ it('renders /og.png as an SVG OG card', async () => {
264
+ const handler = handleActuateAPI({
265
+ prismaClient: createMockDB([]),
266
+ config: {
267
+ seo: { siteUrl: 'https://example.com', siteName: 'Example' },
268
+ collections: {},
269
+ },
270
+ });
271
+ const response = await handler(new Request('https://example.com/api/cms/og.png?title=Hello%20World&description=Welcome'));
272
+ expect(response.status).toBe(200);
273
+ expect(response.headers.get('Content-Type')).toContain('image/svg+xml');
274
+ const text = await response.text();
275
+ expect(text).toContain('<svg');
276
+ expect(text).toContain('Hello');
277
+ expect(text).toContain('Example');
278
+ });
279
+ it('returns 404 for /og.png when seo.ogImage.disabled is true', async () => {
280
+ const handler = handleActuateAPI({
281
+ prismaClient: createMockDB([]),
282
+ config: {
283
+ seo: { siteUrl: 'https://example.com', ogImage: { disabled: true } },
284
+ collections: {},
285
+ },
286
+ });
287
+ const response = await handler(new Request('https://example.com/api/cms/og.png?title=X'));
288
+ expect(response.status).toBe(404);
289
+ });
290
+ it('enriches /resolve with composed jsonLd and meta', async () => {
291
+ const docs = [
292
+ {
293
+ id: 'post-1',
294
+ slug: 'hello',
295
+ collection: 'posts',
296
+ status: 'PUBLISHED',
297
+ data: {
298
+ title: 'Hello World',
299
+ slug: 'hello',
300
+ metaDescription: 'A first post',
301
+ authorName: 'Jane',
302
+ },
303
+ publishedAt: new Date('2026-02-01T00:00:00Z'),
304
+ updatedAt: new Date('2026-02-10T00:00:00Z'),
305
+ },
306
+ ];
307
+ initDB(createMockDB(docs));
308
+ const handler = handleActuateAPI({
309
+ prismaClient: createMockDB(docs),
310
+ config: {
311
+ seo: {
312
+ siteUrl: 'https://example.com',
313
+ siteName: 'Example',
314
+ organization: { name: 'Example Inc' },
315
+ },
316
+ collections: {
317
+ posts: {
318
+ slug: 'posts',
319
+ labels: { singular: 'Post', plural: 'Posts' },
320
+ urlPrefix: 'blog',
321
+ type: 'post',
322
+ fields: {},
323
+ },
324
+ },
325
+ },
326
+ });
327
+ const response = await handler(new Request('https://example.com/api/cms/resolve?path=/blog/hello'));
328
+ expect(response.status).toBe(200);
329
+ const body = (await response.json());
330
+ expect(body.meta).toBeDefined();
331
+ expect(body.meta.title).toBe('Hello World');
332
+ expect(body.meta.canonical).toBe('https://example.com/blog/hello');
333
+ expect(body.meta.tags['og:title']).toBe('Hello World');
334
+ expect(body.jsonLd['@type']).toBe('BlogPosting');
335
+ expect(body.jsonLd.author).toMatchObject({ '@type': 'Person', name: 'Jane' });
336
+ expect(body.jsonLd.publisher).toMatchObject({ '@type': 'Organization', name: 'Example Inc' });
337
+ expect(typeof body.jsonLdHtml).toBe('string');
338
+ expect(body.jsonLdHtml).toContain('<script type="application/ld+json">');
339
+ });
340
+ });
341
+ //# sourceMappingURL=public-seo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-seo.test.js","sourceRoot":"","sources":["../../../src/__tests__/api/public-seo.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=presets.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/collections/presets.test.ts"],"names":[],"mappings":""}