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.
Files changed (55) hide show
  1. package/dist/branch-schema-cache.d.ts +10 -0
  2. package/dist/branch-schema-cache.d.ts.map +1 -1
  3. package/dist/branch-schema-cache.js +14 -2
  4. package/dist/branch-schema-cache.js.map +1 -1
  5. package/dist/cli/generate-ai-content.js +16 -11
  6. package/dist/cli/init.js +2 -9
  7. package/dist/cli/template-files/schemas.ts.template +20 -5
  8. package/dist/config/flatten.d.ts +1 -6
  9. package/dist/config/flatten.d.ts.map +1 -1
  10. package/dist/config/flatten.js +1 -23
  11. package/dist/config/flatten.js.map +1 -1
  12. package/dist/config/helpers.d.ts +10 -5
  13. package/dist/config/helpers.d.ts.map +1 -1
  14. package/dist/config/helpers.js +10 -5
  15. package/dist/config/helpers.js.map +1 -1
  16. package/dist/config/index.d.ts +2 -2
  17. package/dist/config/index.d.ts.map +1 -1
  18. package/dist/config/index.js +2 -2
  19. package/dist/config/index.js.map +1 -1
  20. package/dist/config/schemas/collection.d.ts +0 -53
  21. package/dist/config/schemas/collection.d.ts.map +1 -1
  22. package/dist/config/schemas/collection.js +0 -6
  23. package/dist/config/schemas/collection.js.map +1 -1
  24. package/dist/config/schemas/config.d.ts +1 -80
  25. package/dist/config/schemas/config.d.ts.map +1 -1
  26. package/dist/config/schemas/config.js +6 -5
  27. package/dist/config/schemas/config.js.map +1 -1
  28. package/dist/config/validation.d.ts +13 -6
  29. package/dist/config/validation.d.ts.map +1 -1
  30. package/dist/config/validation.js +65 -127
  31. package/dist/config/validation.js.map +1 -1
  32. package/dist/config-test.d.ts +1 -1
  33. package/dist/config-test.d.ts.map +1 -1
  34. package/dist/config-test.js.map +1 -1
  35. package/dist/content-tree.d.ts +85 -7
  36. package/dist/content-tree.d.ts.map +1 -1
  37. package/dist/content-tree.js +34 -9
  38. package/dist/content-tree.js.map +1 -1
  39. package/dist/context.d.ts +9 -3
  40. package/dist/context.d.ts.map +1 -1
  41. package/dist/context.js.map +1 -1
  42. package/dist/entry-schema-registry.d.ts +54 -10
  43. package/dist/entry-schema-registry.d.ts.map +1 -1
  44. package/dist/entry-schema-registry.js +62 -10
  45. package/dist/entry-schema-registry.js.map +1 -1
  46. package/dist/entry-schema.d.ts +34 -0
  47. package/dist/entry-schema.d.ts.map +1 -1
  48. package/dist/entry-schema.js.map +1 -1
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/server.d.ts +53 -3
  52. package/dist/server.d.ts.map +1 -1
  53. package/dist/server.js +50 -2
  54. package/dist/server.js.map +1 -1
  55. 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 = isBuildMode();
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 (isBuildMode())
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":"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"}
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, rootCollectionSchema;
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 = isBuildMode();
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 (isBuildMode())
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, rootCollectionSchema;
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 TypeFromEntrySchema,
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']
@@ -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(config.schema, 'content')
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;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,oBAAoB,KAAG,oBAqBrE,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,oBAAoB,EAAE,iBAAa,KAAG,cAAc,EA0GvF,CAAA"}
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"}
@@ -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(config.schema, 'content')
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":"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"}
1
+ {"version":3,"file":"flatten.js","sourceRoot":"","sources":["../../src/config/flatten.ts"],"names":[],"mappings":"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"}
@@ -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 const canopyConfig = defineCanopyConfig({
17
- * gitBotAuthorName: 'Bot',
20
+ * export default defineCanopyConfig({
21
+ * mode: 'dev',
22
+ * gitBotAuthorName: 'My CMS Bot',
18
23
  * gitBotAuthorEmail: 'bot@example.com',
19
- * schema: {
20
- * collections: [...]
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;;;;;;;;;;;;;;;;;;GAkBG;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"}
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"}
@@ -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 const canopyConfig = defineCanopyConfig({
16
- * gitBotAuthorName: 'Bot',
19
+ * export default defineCanopyConfig({
20
+ * mode: 'dev',
21
+ * gitBotAuthorName: 'My CMS Bot',
17
22
  * gitBotAuthorEmail: 'bot@example.com',
18
- * schema: {
19
- * collections: [...]
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;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAiD;IAClF,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAA2B,CAAC,CAAA;IAEnE,OAAO;QACL,2DAA2D;QAC3D,MAAM,EAAE,SAAS;QAEjB,mEAAmE;QACnE,6FAA6F;QAC7F,MAAM,EAAE,CAAC,eAAkC,EAAsB,EAAE;YACjE,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GACvF,SAAS,CAAA;YACX,MAAM,YAAY,GAAuB;gBACvC,iBAAiB;gBACjB,mBAAmB;gBACnB,WAAW;gBACX,MAAM;gBACN,IAAI;gBACJ,YAAY;gBACZ,UAAU,EAAE,EAAE,EAAE,uCAAuC;aACxD,CAAA;YAED,uEAAuE;YACvE,IAAI,eAAe,EAAE,MAAM,EAAE,CAAC;gBAC5B,YAAY,CAAC,MAAM,GAAG;oBACpB,GAAG,YAAY,CAAC,MAAM;oBACtB,GAAG,eAAe,CAAC,MAAM;iBAC1B,CAAA;YACH,CAAC;YAED,OAAO,YAAY,CAAA;QACrB,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,SAAiC,EAAgB,EAAE;IACxF,IAAI,KAA8B,CAAA;IAClC,IAAI,WAAoC,CAAA;IACxC,IAAI,UAAkC,CAAA;IACtC,IAAI,mBAAoD,CAAA;IACxD,IAAI,iBAAgD,CAAA;IACpD,IAAI,iBAAgD,CAAA;IACpD,IAAI,mBAAuC,CAAA;IAC3C,IAAI,iBAAgD,CAAA;IACpD,IAAI,gBAA8C,CAAA;IAClD,IAAI,gBAA8C,CAAA;IAClD,IAAI,iBAAgD,CAAA;IACpD,IAAI,IAAqC,CAAA;IACzC,IAAI,cAAkC,CAAA;IACtC,IAAI,GAAyC,CAAA;IAE7C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QACxB,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;QACpC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAClC,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACjC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAA;QACpD,CAAC;QACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAA;QAChD,CAAC;QACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAA;QAChD,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACjC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAA;QACpD,CAAC;QACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAA;QAChD,CAAC;QACD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC9B,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAA;QAC9C,CAAC;QACD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC9B,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAA;QAC9C,CAAC;QACD,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAA;QAChD,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;QAC1C,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;QACpB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAsB;QAChC,gBAAgB,EAAE,gBAAgB,IAAI,EAAE;QACxC,iBAAiB,EAAE,iBAAiB,IAAI,EAAE;QAC1C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAA;IAED,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;AACrC,CAAC,CAAA"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/config/helpers.ts"],"names":[],"mappings":"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"}
@@ -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, rootCollectionSchema, entryTypeSchema, relativePathSchema, } from './schemas/collection';
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, normalizeSchemaPathsRoot } from './flatten';
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,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACvF,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAA"}
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"}
@@ -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, rootCollectionSchema, entryTypeSchema, relativePathSchema, } from './schemas/collection.js';
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, normalizeSchemaPathsRoot } from './flatten.js';
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
@@ -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,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,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,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACvF,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAA8B,MAAM,WAAW,CAAA"}
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;AAGD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI/B,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,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":"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"}
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"}