canopycms 0.0.40 → 0.0.42
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/branch-schema-cache.d.ts +10 -0
- package/dist/branch-schema-cache.d.ts.map +1 -1
- package/dist/branch-schema-cache.js +14 -2
- package/dist/branch-schema-cache.js.map +1 -1
- package/dist/cli/generate-ai-content.js +16 -11
- package/dist/cli/init.js +2 -9
- package/dist/cli/template-files/schemas.ts.template +20 -5
- package/dist/config/flatten.d.ts +1 -6
- package/dist/config/flatten.d.ts.map +1 -1
- package/dist/config/flatten.js +1 -23
- package/dist/config/flatten.js.map +1 -1
- package/dist/config/helpers.d.ts +10 -5
- package/dist/config/helpers.d.ts.map +1 -1
- package/dist/config/helpers.js +10 -5
- package/dist/config/helpers.js.map +1 -1
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/schemas/collection.d.ts +0 -53
- package/dist/config/schemas/collection.d.ts.map +1 -1
- package/dist/config/schemas/collection.js +0 -6
- package/dist/config/schemas/collection.js.map +1 -1
- package/dist/config/schemas/config.d.ts +1 -80
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +6 -5
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/validation.d.ts +13 -6
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +65 -127
- package/dist/config/validation.js.map +1 -1
- package/dist/config-test.d.ts +1 -1
- package/dist/config-test.d.ts.map +1 -1
- package/dist/config-test.js.map +1 -1
- package/dist/content-tree.d.ts +85 -7
- package/dist/content-tree.d.ts.map +1 -1
- package/dist/content-tree.js +34 -9
- package/dist/content-tree.js.map +1 -1
- package/dist/context.d.ts +9 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js.map +1 -1
- package/dist/entry-schema-registry.d.ts +54 -10
- package/dist/entry-schema-registry.d.ts.map +1 -1
- package/dist/entry-schema-registry.js +62 -10
- package/dist/entry-schema-registry.js.map +1 -1
- package/dist/entry-schema.d.ts +34 -0
- package/dist/entry-schema.d.ts.map +1 -1
- package/dist/entry-schema.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/server.d.ts +53 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +50 -2
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -29,6 +29,16 @@ export declare class BranchSchemaCache {
|
|
|
29
29
|
private lastMtimeCheck;
|
|
30
30
|
private readonly devMode;
|
|
31
31
|
constructor(mode?: OperatingMode);
|
|
32
|
+
/**
|
|
33
|
+
* Whether to skip the on-disk cache for this branchRoot.
|
|
34
|
+
*
|
|
35
|
+
* branchRoot equals the project root (process.cwd()) only in the synthetic
|
|
36
|
+
* contexts used by static deployments and build phases — real branch roots are
|
|
37
|
+
* always nested under the workspace (.canopy-dev/content-branches/<name> in dev,
|
|
38
|
+
* <workspaceRoot>/content-branches/<name> in prod). Never write .canopy-meta/ at
|
|
39
|
+
* the project root, regardless of which entrypoint produced the cwd branchRoot.
|
|
40
|
+
*/
|
|
41
|
+
private skipDiskCache;
|
|
32
42
|
/**
|
|
33
43
|
* Get schema for a branch (loads from cache or resolves fresh).
|
|
34
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-schema-cache.d.ts","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAWzD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,oBAAoB,CAAA;IAC5B,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;CACjB;AA8BD;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,qFAAqF;IACrF,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,GAAE,aAAsB;IAIxC;;;;;;;OAOG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,GAAE,MAAkB,GAClC,OAAO,CAAC;QAAE,MAAM,EAAE,oBAAoB,CAAC;QAAC,UAAU,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAI1E;;OAEG;YACW,sBAAsB;IA+FpC;;;;OAIG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CASpD"}
|
|
1
|
+
{"version":3,"file":"branch-schema-cache.d.ts","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAWzD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,oBAAoB,CAAA;IAC5B,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;CACjB;AA8BD;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,qFAAqF;IACrF,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,GAAE,aAAsB;IAIxC;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;;OAOG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,GAAE,MAAkB,GAClC,OAAO,CAAC;QAAE,MAAM,EAAE,oBAAoB,CAAC;QAAC,UAAU,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAI1E;;OAEG;YACW,sBAAsB;IA+FpC;;;;OAIG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CASpD"}
|
|
@@ -57,6 +57,18 @@ export class BranchSchemaCache {
|
|
|
57
57
|
this.lastMtimeCheck = new Map();
|
|
58
58
|
this.devMode = mode === 'dev';
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Whether to skip the on-disk cache for this branchRoot.
|
|
62
|
+
*
|
|
63
|
+
* branchRoot equals the project root (process.cwd()) only in the synthetic
|
|
64
|
+
* contexts used by static deployments and build phases — real branch roots are
|
|
65
|
+
* always nested under the workspace (.canopy-dev/content-branches/<name> in dev,
|
|
66
|
+
* <workspaceRoot>/content-branches/<name> in prod). Never write .canopy-meta/ at
|
|
67
|
+
* the project root, regardless of which entrypoint produced the cwd branchRoot.
|
|
68
|
+
*/
|
|
69
|
+
skipDiskCache(branchRoot) {
|
|
70
|
+
return isBuildMode() || path.resolve(branchRoot) === path.resolve(process.cwd());
|
|
71
|
+
}
|
|
60
72
|
/**
|
|
61
73
|
* Get schema for a branch (loads from cache or resolves fresh).
|
|
62
74
|
*
|
|
@@ -75,7 +87,7 @@ export class BranchSchemaCache {
|
|
|
75
87
|
const contentRoot = path.join(branchRoot, contentRootName);
|
|
76
88
|
// In static/build mode, branchRoot is process.cwd() (the project root).
|
|
77
89
|
// Skip disk cache to avoid creating .canopy-meta/ at the project root.
|
|
78
|
-
const skipDiskCache =
|
|
90
|
+
const skipDiskCache = this.skipDiskCache(branchRoot);
|
|
79
91
|
if (!skipDiskCache) {
|
|
80
92
|
const cacheDir = path.join(branchRoot, '.canopy-meta');
|
|
81
93
|
const cachePath = path.join(cacheDir, 'schema-cache.json');
|
|
@@ -155,7 +167,7 @@ export class BranchSchemaCache {
|
|
|
155
167
|
* @param branchRoot - Root directory of the branch
|
|
156
168
|
*/
|
|
157
169
|
async invalidate(branchRoot) {
|
|
158
|
-
if (
|
|
170
|
+
if (this.skipDiskCache(branchRoot))
|
|
159
171
|
return;
|
|
160
172
|
const cacheDir = path.join(branchRoot, '.canopy-meta');
|
|
161
173
|
const stalePath = path.join(cacheDir, 'schema-cache.stale');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-schema-cache.js","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAM5B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,qFAAqF;AACrF,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAE9B,2DAA2D;AAC3D,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAYpC;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,QAAc;IACvD,IAAI,OAAiB,CAAA;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,SAAQ;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE;gBAAE,OAAO,IAAI,CAAA;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;YACtD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IAM5B,YAAY,OAAsB,MAAM;QALxC,qFAAqF;QAC7E,mBAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;QAKhD,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,KAAK,CAAA;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,mBAAwC,EACxC,kBAA0B,SAAS;QAEnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAA;IACtF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,UAAkB,EAClB,mBAAwC,EACxC,eAAuB;QAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QAE1D,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"branch-schema-cache.js","sourceRoot":"","sources":["../src/branch-schema-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -246,7 +246,7 @@ var init_field = __esm({
|
|
|
246
246
|
// dist/config/schemas/collection.js
|
|
247
247
|
import { z as z2 } from "zod";
|
|
248
248
|
import { isAbsolute } from "pathe";
|
|
249
|
-
var relativePathSchema, entryTypeSchema, collectionSchema
|
|
249
|
+
var relativePathSchema, entryTypeSchema, collectionSchema;
|
|
250
250
|
var init_collection = __esm({
|
|
251
251
|
"dist/config/schemas/collection.js"() {
|
|
252
252
|
"use strict";
|
|
@@ -275,12 +275,6 @@ var init_collection = __esm({
|
|
|
275
275
|
}).refine((data) => data.entries || data.collections, {
|
|
276
276
|
message: "Collection must have entries or collections"
|
|
277
277
|
}));
|
|
278
|
-
rootCollectionSchema = z2.object({
|
|
279
|
-
entries: z2.array(entryTypeSchema).optional(),
|
|
280
|
-
collections: z2.array(collectionSchema).optional(),
|
|
281
|
-
order: z2.array(z2.string()).optional()
|
|
282
|
-
// Embedded IDs for ordering items
|
|
283
|
-
});
|
|
284
278
|
}
|
|
285
279
|
});
|
|
286
280
|
|
|
@@ -350,7 +344,6 @@ var init_config = __esm({
|
|
|
350
344
|
AccountComponent: z4.custom().optional()
|
|
351
345
|
});
|
|
352
346
|
CanopyConfigSchema = z4.object({
|
|
353
|
-
schema: rootCollectionSchema.optional(),
|
|
354
347
|
media: mediaSchema.optional(),
|
|
355
348
|
defaultBranchAccess: defaultBranchAccessSchema.optional(),
|
|
356
349
|
defaultPathAccess: defaultPathAccessSchema.optional(),
|
|
@@ -374,7 +367,7 @@ var init_config = __esm({
|
|
|
374
367
|
authPlugin: z4.custom().optional(),
|
|
375
368
|
entryLinkUrl: z4.custom().optional(),
|
|
376
369
|
dev: devConfigSchema.optional()
|
|
377
|
-
});
|
|
370
|
+
}).strict();
|
|
378
371
|
DEFAULT_PROD_WORKSPACE = "/mnt/efs/workspace";
|
|
379
372
|
}
|
|
380
373
|
});
|
|
@@ -1997,6 +1990,18 @@ var BranchSchemaCache = class {
|
|
|
1997
1990
|
this.lastMtimeCheck = /* @__PURE__ */ new Map();
|
|
1998
1991
|
this.devMode = mode === "dev";
|
|
1999
1992
|
}
|
|
1993
|
+
/**
|
|
1994
|
+
* Whether to skip the on-disk cache for this branchRoot.
|
|
1995
|
+
*
|
|
1996
|
+
* branchRoot equals the project root (process.cwd()) only in the synthetic
|
|
1997
|
+
* contexts used by static deployments and build phases — real branch roots are
|
|
1998
|
+
* always nested under the workspace (.canopy-dev/content-branches/<name> in dev,
|
|
1999
|
+
* <workspaceRoot>/content-branches/<name> in prod). Never write .canopy-meta/ at
|
|
2000
|
+
* the project root, regardless of which entrypoint produced the cwd branchRoot.
|
|
2001
|
+
*/
|
|
2002
|
+
skipDiskCache(branchRoot) {
|
|
2003
|
+
return isBuildMode() || path6.resolve(branchRoot) === path6.resolve(process.cwd());
|
|
2004
|
+
}
|
|
2000
2005
|
/**
|
|
2001
2006
|
* Get schema for a branch (loads from cache or resolves fresh).
|
|
2002
2007
|
*
|
|
@@ -2013,7 +2018,7 @@ var BranchSchemaCache = class {
|
|
|
2013
2018
|
*/
|
|
2014
2019
|
async loadFromCacheOrResolve(branchRoot, entrySchemaRegistry, contentRootName) {
|
|
2015
2020
|
const contentRoot = path6.join(branchRoot, contentRootName);
|
|
2016
|
-
const skipDiskCache =
|
|
2021
|
+
const skipDiskCache = this.skipDiskCache(branchRoot);
|
|
2017
2022
|
if (!skipDiskCache) {
|
|
2018
2023
|
const cacheDir = path6.join(branchRoot, ".canopy-meta");
|
|
2019
2024
|
const cachePath = path6.join(cacheDir, "schema-cache.json");
|
|
@@ -2073,7 +2078,7 @@ var BranchSchemaCache = class {
|
|
|
2073
2078
|
* @param branchRoot - Root directory of the branch
|
|
2074
2079
|
*/
|
|
2075
2080
|
async invalidate(branchRoot) {
|
|
2076
|
-
if (
|
|
2081
|
+
if (this.skipDiskCache(branchRoot))
|
|
2077
2082
|
return;
|
|
2078
2083
|
const cacheDir = path6.join(branchRoot, ".canopy-meta");
|
|
2079
2084
|
const stalePath = path6.join(cacheDir, "schema-cache.stale");
|
package/dist/cli/init.js
CHANGED
|
@@ -123,7 +123,7 @@ var init_field = __esm({
|
|
|
123
123
|
// dist/config/schemas/collection.js
|
|
124
124
|
import { z as z2 } from "zod";
|
|
125
125
|
import { isAbsolute } from "pathe";
|
|
126
|
-
var relativePathSchema, entryTypeSchema, collectionSchema
|
|
126
|
+
var relativePathSchema, entryTypeSchema, collectionSchema;
|
|
127
127
|
var init_collection = __esm({
|
|
128
128
|
"dist/config/schemas/collection.js"() {
|
|
129
129
|
"use strict";
|
|
@@ -152,12 +152,6 @@ var init_collection = __esm({
|
|
|
152
152
|
}).refine((data) => data.entries || data.collections, {
|
|
153
153
|
message: "Collection must have entries or collections"
|
|
154
154
|
}));
|
|
155
|
-
rootCollectionSchema = z2.object({
|
|
156
|
-
entries: z2.array(entryTypeSchema).optional(),
|
|
157
|
-
collections: z2.array(collectionSchema).optional(),
|
|
158
|
-
order: z2.array(z2.string()).optional()
|
|
159
|
-
// Embedded IDs for ordering items
|
|
160
|
-
});
|
|
161
155
|
}
|
|
162
156
|
});
|
|
163
157
|
|
|
@@ -227,7 +221,6 @@ var init_config = __esm({
|
|
|
227
221
|
AccountComponent: z4.custom().optional()
|
|
228
222
|
});
|
|
229
223
|
CanopyConfigSchema = z4.object({
|
|
230
|
-
schema: rootCollectionSchema.optional(),
|
|
231
224
|
media: mediaSchema.optional(),
|
|
232
225
|
defaultBranchAccess: defaultBranchAccessSchema.optional(),
|
|
233
226
|
defaultPathAccess: defaultPathAccessSchema.optional(),
|
|
@@ -251,7 +244,7 @@ var init_config = __esm({
|
|
|
251
244
|
authPlugin: z4.custom().optional(),
|
|
252
245
|
entryLinkUrl: z4.custom().optional(),
|
|
253
246
|
dev: devConfigSchema.optional()
|
|
254
|
-
});
|
|
247
|
+
}).strict();
|
|
255
248
|
DEFAULT_PROD_WORKSPACE = "/mnt/efs/workspace";
|
|
256
249
|
}
|
|
257
250
|
});
|
|
@@ -2,13 +2,12 @@ import {
|
|
|
2
2
|
defineEntrySchema,
|
|
3
3
|
defineInlineFieldGroup,
|
|
4
4
|
defineNestedFieldGroup,
|
|
5
|
-
type
|
|
5
|
+
type EntryTypesFromRegistry,
|
|
6
6
|
} from 'canopycms'
|
|
7
7
|
import { createEntrySchemaRegistry } from 'canopycms/server'
|
|
8
8
|
|
|
9
9
|
// Define your entry schemas here.
|
|
10
10
|
// Each schema describes the fields for a content type.
|
|
11
|
-
// The schema name should match the "entrySchema" value in your .collection.json files.
|
|
12
11
|
|
|
13
12
|
export const pageSchema = defineEntrySchema([
|
|
14
13
|
{ name: 'title', type: 'string', label: 'Title' },
|
|
@@ -16,8 +15,6 @@ export const pageSchema = defineEntrySchema([
|
|
|
16
15
|
{ name: 'body', type: 'markdown', label: 'Body', isBody: true },
|
|
17
16
|
])
|
|
18
17
|
|
|
19
|
-
export type PageContent = TypeFromEntrySchema<typeof pageSchema>
|
|
20
|
-
|
|
21
18
|
// --- Field Groups ---
|
|
22
19
|
//
|
|
23
20
|
// Use defineInlineFieldGroup() to define reusable field sets that render as a
|
|
@@ -57,6 +54,24 @@ export type PageContent = TypeFromEntrySchema<typeof pageSchema>
|
|
|
57
54
|
// Uncomment to use:
|
|
58
55
|
// export { defineInlineFieldGroup, defineNestedFieldGroup }
|
|
59
56
|
|
|
57
|
+
// --- Registry ---
|
|
58
|
+
//
|
|
59
|
+
// Key the registry by ENTRY-TYPE NAME (the filename token in your content files,
|
|
60
|
+
// e.g. `page.<slug>.<id>.mdx` → 'page'). The same string is what `.collection.json`
|
|
61
|
+
// files reference via the `"schema"` property. Keying this way lets
|
|
62
|
+
// `EntryTypesFromRegistry<typeof entrySchemaRegistry>` derive the typed entry-type
|
|
63
|
+
// map automatically — see below.
|
|
64
|
+
|
|
60
65
|
export const entrySchemaRegistry = createEntrySchemaRegistry({
|
|
61
|
-
pageSchema,
|
|
66
|
+
page: pageSchema,
|
|
62
67
|
})
|
|
68
|
+
|
|
69
|
+
// --- Typed entry-type map ---
|
|
70
|
+
//
|
|
71
|
+
// Pass `EntryTypes` as the second generic to `canopy.buildContentTree<NavFields, EntryTypes>`
|
|
72
|
+
// to get narrowed access to `meta.indexEntry.data` after switching on `meta.entryType`.
|
|
73
|
+
// Per-schema aliases derive cleanly from EntryTypes (single source of truth).
|
|
74
|
+
|
|
75
|
+
export type EntryTypes = EntryTypesFromRegistry<typeof entrySchemaRegistry>
|
|
76
|
+
|
|
77
|
+
export type PageContent = EntryTypes['page']
|
package/dist/config/flatten.d.ts
CHANGED
|
@@ -6,11 +6,6 @@ import type { FlatSchemaItem, RootCollectionConfig } from './types';
|
|
|
6
6
|
* Normalize a path value by splitting, filtering empty segments, and rejoining.
|
|
7
7
|
*/
|
|
8
8
|
export declare const normalizePathValue: (val: string) => string;
|
|
9
|
-
/**
|
|
10
|
-
* Normalize all paths in the root collection schema.
|
|
11
|
-
* Recursively processes nested collections.
|
|
12
|
-
*/
|
|
13
|
-
export declare const normalizeSchemaPathsRoot: (root: RootCollectionConfig) => RootCollectionConfig;
|
|
14
9
|
/**
|
|
15
10
|
* Flatten the root collection schema into a flat array for O(1) lookups.
|
|
16
11
|
* Traverses the nested schema structure and returns all collections and entry types
|
|
@@ -21,7 +16,7 @@ export declare const normalizeSchemaPathsRoot: (root: RootCollectionConfig) => R
|
|
|
21
16
|
* @returns Array of flattened schema items with full paths
|
|
22
17
|
*
|
|
23
18
|
* @example
|
|
24
|
-
* const flat = flattenSchema(
|
|
19
|
+
* const flat = flattenSchema(rootCollection, 'content')
|
|
25
20
|
* const map = new Map(flat.map(item => [item.logicalPath, item]))
|
|
26
21
|
* const item = map.get('content/posts') // O(1) lookup
|
|
27
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../../src/config/flatten.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAGV,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAIhB;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MACI,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../../src/config/flatten.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAGV,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAIhB;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MACI,CAAA;AAErD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,oBAAoB,EAAE,iBAAa,KAAG,cAAc,EA0GvF,CAAA"}
|
package/dist/config/flatten.js
CHANGED
|
@@ -8,28 +8,6 @@ import { ROOT_COLLECTION_ID } from '../paths/types.js';
|
|
|
8
8
|
* Normalize a path value by splitting, filtering empty segments, and rejoining.
|
|
9
9
|
*/
|
|
10
10
|
export const normalizePathValue = (val) => normalize(val).split('/').filter(Boolean).join('/');
|
|
11
|
-
/**
|
|
12
|
-
* Normalize all paths in the root collection schema.
|
|
13
|
-
* Recursively processes nested collections.
|
|
14
|
-
*/
|
|
15
|
-
export const normalizeSchemaPathsRoot = (root) => {
|
|
16
|
-
const normalizeCollection = (collection, parentPath = '') => {
|
|
17
|
-
const logicalPath = parentPath ? join(parentPath, collection.path) : collection.path;
|
|
18
|
-
const normalizedFull = normalizePathValue(logicalPath);
|
|
19
|
-
if (!normalizedFull || normalizedFull.includes('..')) {
|
|
20
|
-
throw new Error(`Invalid path for collection "${collection.name}"`);
|
|
21
|
-
}
|
|
22
|
-
return {
|
|
23
|
-
...collection,
|
|
24
|
-
path: normalizePathValue(collection.path),
|
|
25
|
-
collections: collection.collections?.map((c) => normalizeCollection(c, normalizedFull)),
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
return {
|
|
29
|
-
...root,
|
|
30
|
-
collections: root.collections?.map((c) => normalizeCollection(c)),
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
11
|
/**
|
|
34
12
|
* Flatten the root collection schema into a flat array for O(1) lookups.
|
|
35
13
|
* Traverses the nested schema structure and returns all collections and entry types
|
|
@@ -40,7 +18,7 @@ export const normalizeSchemaPathsRoot = (root) => {
|
|
|
40
18
|
* @returns Array of flattened schema items with full paths
|
|
41
19
|
*
|
|
42
20
|
* @example
|
|
43
|
-
* const flat = flattenSchema(
|
|
21
|
+
* const flat = flattenSchema(rootCollection, 'content')
|
|
44
22
|
* const map = new Map(flat.map(item => [item.logicalPath, item]))
|
|
45
23
|
* const item = map.get('content/posts') // O(1) lookup
|
|
46
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatten.js","sourceRoot":"","sources":["../../src/config/flatten.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE,CACxD,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"flatten.js","sourceRoot":"","sources":["../../src/config/flatten.ts"],"names":[],"mappings":"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"}
|
package/dist/config/helpers.d.ts
CHANGED
|
@@ -8,17 +8,22 @@ export type CanopyConfigAuthoring = CanopyConfigInput;
|
|
|
8
8
|
* Performs runtime validation using the CanopyConfig schema.
|
|
9
9
|
* Returns a bundle with `server` (full config) and `client(overrides)` (safe subset).
|
|
10
10
|
*
|
|
11
|
+
* Schemas live in `.collection.json` files alongside your content, referenced
|
|
12
|
+
* through `createEntrySchemaRegistry` in your `schemas.ts`. See README
|
|
13
|
+
* "Setting Up a Schema Registry".
|
|
14
|
+
*
|
|
11
15
|
* @example
|
|
12
16
|
* ```ts
|
|
13
17
|
* // canopycms.config.ts
|
|
14
18
|
* import { defineCanopyConfig } from 'canopycms'
|
|
15
19
|
*
|
|
16
|
-
* export
|
|
17
|
-
*
|
|
20
|
+
* export default defineCanopyConfig({
|
|
21
|
+
* mode: 'dev',
|
|
22
|
+
* gitBotAuthorName: 'My CMS Bot',
|
|
18
23
|
* gitBotAuthorEmail: 'bot@example.com',
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* }
|
|
24
|
+
* editor: {
|
|
25
|
+
* title: 'My Editor',
|
|
26
|
+
* },
|
|
22
27
|
* })
|
|
23
28
|
* ```
|
|
24
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/config/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAYjB,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/config/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAYjB,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,qBAAqB;;+BASrD,gBAAgB,KAAG,kBAAkB;EAwBnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,WAAW,oBAAoB,EAAE,KAAG,YAiF1E,CAAA"}
|
package/dist/config/helpers.js
CHANGED
|
@@ -7,17 +7,22 @@ import { validateCanopyConfig } from './validation.js';
|
|
|
7
7
|
* Performs runtime validation using the CanopyConfig schema.
|
|
8
8
|
* Returns a bundle with `server` (full config) and `client(overrides)` (safe subset).
|
|
9
9
|
*
|
|
10
|
+
* Schemas live in `.collection.json` files alongside your content, referenced
|
|
11
|
+
* through `createEntrySchemaRegistry` in your `schemas.ts`. See README
|
|
12
|
+
* "Setting Up a Schema Registry".
|
|
13
|
+
*
|
|
10
14
|
* @example
|
|
11
15
|
* ```ts
|
|
12
16
|
* // canopycms.config.ts
|
|
13
17
|
* import { defineCanopyConfig } from 'canopycms'
|
|
14
18
|
*
|
|
15
|
-
* export
|
|
16
|
-
*
|
|
19
|
+
* export default defineCanopyConfig({
|
|
20
|
+
* mode: 'dev',
|
|
21
|
+
* gitBotAuthorName: 'My CMS Bot',
|
|
17
22
|
* gitBotAuthorEmail: 'bot@example.com',
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* }
|
|
23
|
+
* editor: {
|
|
24
|
+
* title: 'My Editor',
|
|
25
|
+
* },
|
|
21
26
|
* })
|
|
22
27
|
* ```
|
|
23
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/config/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAsBnD
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/config/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -12,10 +12,10 @@ export type { PrimitiveFieldType, FieldType, ContentFormat, MediaAdapterKind, Pe
|
|
|
12
12
|
export { primitiveFieldTypes, fieldTypes } from './types';
|
|
13
13
|
export { CanopyConfigSchema, getConfigDefaults, DEFAULT_PROD_WORKSPACE } from './schemas/config';
|
|
14
14
|
export { fieldSchema, blockSchema, selectOptionSchema, referenceOptionSchema, } from './schemas/field';
|
|
15
|
-
export { collectionSchema,
|
|
15
|
+
export { collectionSchema, entryTypeSchema, relativePathSchema } from './schemas/collection';
|
|
16
16
|
export { permissionTargetSchema, pathPermissionSchema } from './schemas/permissions';
|
|
17
17
|
export { mediaSchema } from './schemas/media';
|
|
18
|
-
export { flattenSchema, normalizePathValue
|
|
18
|
+
export { flattenSchema, normalizePathValue } from './flatten';
|
|
19
19
|
export { validateCanopyConfig, ensureSelectFieldsHaveOptions } from './validation';
|
|
20
20
|
export { defineCanopyConfig, composeCanopyConfig, type CanopyConfigAuthoring } from './helpers';
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,YAAY,EAEV,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,gBAAgB,EAEhB,eAAe,EACf,gBAAgB,EAChB,cAAc,EAEd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EAEjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EAEpB,WAAW,EAEX,kBAAkB,EAElB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,YAAY,EAEV,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,gBAAgB,EAEhB,eAAe,EACf,gBAAgB,EAChB,cAAc,EAEd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EAEjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EAEpB,WAAW,EAEX,kBAAkB,EAElB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC5F,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAA"}
|
package/dist/config/index.js
CHANGED
|
@@ -13,11 +13,11 @@ export { primitiveFieldTypes, fieldTypes } from './types.js';
|
|
|
13
13
|
// Re-export schemas (for advanced use cases)
|
|
14
14
|
export { CanopyConfigSchema, getConfigDefaults, DEFAULT_PROD_WORKSPACE } from './schemas/config.js';
|
|
15
15
|
export { fieldSchema, blockSchema, selectOptionSchema, referenceOptionSchema, } from './schemas/field.js';
|
|
16
|
-
export { collectionSchema,
|
|
16
|
+
export { collectionSchema, entryTypeSchema, relativePathSchema } from './schemas/collection.js';
|
|
17
17
|
export { permissionTargetSchema, pathPermissionSchema } from './schemas/permissions.js';
|
|
18
18
|
export { mediaSchema } from './schemas/media.js';
|
|
19
19
|
// Re-export utilities
|
|
20
|
-
export { flattenSchema, normalizePathValue
|
|
20
|
+
export { flattenSchema, normalizePathValue } from './flatten.js';
|
|
21
21
|
export { validateCanopyConfig, ensureSelectFieldsHaveOptions } from './validation.js';
|
|
22
22
|
export { defineCanopyConfig, composeCanopyConfig } from './helpers.js';
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsDH,2BAA2B;AAC3B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzD,6CAA6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsDH,2BAA2B;AAC3B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzD,6CAA6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC5F,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAA8B,MAAM,WAAW,CAAA"}
|
|
@@ -37,58 +37,5 @@ export declare const entryTypeSchema: z.ZodObject<{
|
|
|
37
37
|
maxItems?: number | undefined;
|
|
38
38
|
}>;
|
|
39
39
|
declare const collectionSchema: z.ZodTypeAny;
|
|
40
|
-
export declare const rootCollectionSchema: z.ZodObject<{
|
|
41
|
-
entries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
42
|
-
name: z.ZodString;
|
|
43
|
-
format: z.ZodEnum<["md", "mdx", "json", "yaml"]>;
|
|
44
|
-
schema: z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">;
|
|
45
|
-
label: z.ZodOptional<z.ZodString>;
|
|
46
|
-
description: z.ZodOptional<z.ZodString>;
|
|
47
|
-
default: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
-
maxItems: z.ZodOptional<z.ZodNumber>;
|
|
49
|
-
}, "strip", z.ZodTypeAny, {
|
|
50
|
-
name: string;
|
|
51
|
-
format: "mdx" | "md" | "json" | "yaml";
|
|
52
|
-
schema: any[];
|
|
53
|
-
description?: string | undefined;
|
|
54
|
-
default?: boolean | undefined;
|
|
55
|
-
label?: string | undefined;
|
|
56
|
-
maxItems?: number | undefined;
|
|
57
|
-
}, {
|
|
58
|
-
name: string;
|
|
59
|
-
format: "mdx" | "md" | "json" | "yaml";
|
|
60
|
-
schema: any[];
|
|
61
|
-
description?: string | undefined;
|
|
62
|
-
default?: boolean | undefined;
|
|
63
|
-
label?: string | undefined;
|
|
64
|
-
maxItems?: number | undefined;
|
|
65
|
-
}>, "many">>;
|
|
66
|
-
collections: z.ZodOptional<z.ZodArray<z.ZodTypeAny, "many">>;
|
|
67
|
-
order: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
68
|
-
}, "strip", z.ZodTypeAny, {
|
|
69
|
-
entries?: {
|
|
70
|
-
name: string;
|
|
71
|
-
format: "mdx" | "md" | "json" | "yaml";
|
|
72
|
-
schema: any[];
|
|
73
|
-
description?: string | undefined;
|
|
74
|
-
default?: boolean | undefined;
|
|
75
|
-
label?: string | undefined;
|
|
76
|
-
maxItems?: number | undefined;
|
|
77
|
-
}[] | undefined;
|
|
78
|
-
collections?: any[] | undefined;
|
|
79
|
-
order?: string[] | undefined;
|
|
80
|
-
}, {
|
|
81
|
-
entries?: {
|
|
82
|
-
name: string;
|
|
83
|
-
format: "mdx" | "md" | "json" | "yaml";
|
|
84
|
-
schema: any[];
|
|
85
|
-
description?: string | undefined;
|
|
86
|
-
default?: boolean | undefined;
|
|
87
|
-
label?: string | undefined;
|
|
88
|
-
maxItems?: number | undefined;
|
|
89
|
-
}[] | undefined;
|
|
90
|
-
collections?: any[] | undefined;
|
|
91
|
-
order?: string[] | undefined;
|
|
92
|
-
}>;
|
|
93
40
|
export { collectionSchema };
|
|
94
41
|
//# sourceMappingURL=collection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,kBAAkB,uGAY5B,CAAA;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,CAAC,CAAC,UAczB,CAAA;
|
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,kBAAkB,uGAY5B,CAAA;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,CAAC,CAAC,UAczB,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -47,11 +47,5 @@ const collectionSchema = z.lazy(() => z
|
|
|
47
47
|
.refine((data) => data.entries || data.collections, {
|
|
48
48
|
message: 'Collection must have entries or collections',
|
|
49
49
|
}));
|
|
50
|
-
// Root collection: no name/path required (top-level schema)
|
|
51
|
-
export const rootCollectionSchema = z.object({
|
|
52
|
-
entries: z.array(entryTypeSchema).optional(),
|
|
53
|
-
collections: z.array(collectionSchema).optional(),
|
|
54
|
-
order: z.array(z.string()).optional(), // Embedded IDs for ordering items
|
|
55
|
-
});
|
|
56
50
|
export { collectionSchema };
|
|
57
51
|
//# sourceMappingURL=collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/config/schemas/collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,wDAAwD;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;KACvE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IACpD,OAAO,EAAE,4BAA4B;CACtC,CAAC;KACD,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;KACA,KAAK,CAAC,QAAQ,CAAC;KACf,MAAM,CAAC,OAAO,CAAC;KACf,IAAI,CAAC,GAAG,CAAC,CACb,CAAA;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAA;AAEF,8BAA8B;AAC9B,MAAM,gBAAgB,GAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACjD,CAAC;KACE,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;IACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,kCAAkC;CAC1E,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;IAClD,OAAO,EAAE,6CAA6C;CACvD,CAAC,CACL,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/config/schemas/collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,wDAAwD;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;KACvE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IACpD,OAAO,EAAE,4BAA4B;CACtC,CAAC;KACD,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;KACA,KAAK,CAAC,QAAQ,CAAC;KACf,MAAM,CAAC,OAAO,CAAC;KACf,IAAI,CAAC,GAAG,CAAC,CACb,CAAA;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAA;AAEF,8BAA8B;AAC9B,MAAM,gBAAgB,GAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACjD,CAAC;KACE,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;IACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,kCAAkC;CAC1E,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;IAClD,OAAO,EAAE,6CAA6C;CACvD,CAAC,CACL,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|