canopycms 0.0.47 → 0.0.49

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 (70) hide show
  1. package/dist/api/content.d.ts +3 -0
  2. package/dist/api/content.d.ts.map +1 -1
  3. package/dist/api/content.js +37 -2
  4. package/dist/api/content.js.map +1 -1
  5. package/dist/cli/cli.d.ts +1 -1
  6. package/dist/cli/cli.d.ts.map +1 -1
  7. package/dist/cli/cli.js +55 -6
  8. package/dist/cli/cli.js.map +1 -1
  9. package/dist/cli/generate-ai-content.js +3 -2
  10. package/dist/cli/init.d.ts.map +1 -1
  11. package/dist/cli/init.js +12 -4
  12. package/dist/cli/init.js.map +1 -1
  13. package/dist/cli/migrate.d.ts +47 -0
  14. package/dist/cli/migrate.d.ts.map +1 -0
  15. package/dist/cli/migrate.js +236 -0
  16. package/dist/cli/migrate.js.map +1 -0
  17. package/dist/cli/project-root.d.ts +17 -0
  18. package/dist/cli/project-root.d.ts.map +1 -0
  19. package/dist/cli/project-root.js +29 -0
  20. package/dist/cli/project-root.js.map +1 -0
  21. package/dist/cli/sync.d.ts +8 -0
  22. package/dist/cli/sync.d.ts.map +1 -1
  23. package/dist/cli/sync.js +28 -23
  24. package/dist/cli/sync.js.map +1 -1
  25. package/dist/cli/template-files/ai-route.ts.template +4 -0
  26. package/dist/cli/template-files/canopycms.config.ts.template +1 -1
  27. package/dist/cli/template-files/next.config-static.ts.template +12 -5
  28. package/dist/cli/template-files/route.ts.template +3 -0
  29. package/dist/cli/templates.d.ts +1 -0
  30. package/dist/cli/templates.d.ts.map +1 -1
  31. package/dist/cli/templates.js +10 -1
  32. package/dist/cli/templates.js.map +1 -1
  33. package/dist/config/index.d.ts +1 -1
  34. package/dist/config/index.d.ts.map +1 -1
  35. package/dist/config/index.js.map +1 -1
  36. package/dist/config/schemas/config.d.ts +4 -0
  37. package/dist/config/schemas/config.d.ts.map +1 -1
  38. package/dist/config/schemas/config.js +1 -0
  39. package/dist/config/schemas/config.js.map +1 -1
  40. package/dist/config/types.d.ts +29 -0
  41. package/dist/config/types.d.ts.map +1 -1
  42. package/dist/content-reader.d.ts.map +1 -1
  43. package/dist/content-reader.js +12 -0
  44. package/dist/content-reader.js.map +1 -1
  45. package/dist/context.d.ts.map +1 -1
  46. package/dist/context.js +4 -0
  47. package/dist/context.js.map +1 -1
  48. package/dist/editor/Editor.d.ts.map +1 -1
  49. package/dist/editor/Editor.js +14 -6
  50. package/dist/editor/Editor.js.map +1 -1
  51. package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
  52. package/dist/editor/hooks/useCommentSystem.js +6 -0
  53. package/dist/editor/hooks/useCommentSystem.js.map +1 -1
  54. package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
  55. package/dist/editor/hooks/useDraftManager.js +7 -2
  56. package/dist/editor/hooks/useDraftManager.js.map +1 -1
  57. package/dist/editor/hooks/useEntryManager.d.ts +2 -2
  58. package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
  59. package/dist/editor/hooks/useEntryManager.js +19 -4
  60. package/dist/editor/hooks/useEntryManager.js.map +1 -1
  61. package/dist/editor/preview-bridge.d.ts +46 -5
  62. package/dist/editor/preview-bridge.d.ts.map +1 -1
  63. package/dist/editor/preview-bridge.js +134 -26
  64. package/dist/editor/preview-bridge.js.map +1 -1
  65. package/dist/schema/meta-loader.js +1 -1
  66. package/dist/schema/meta-loader.js.map +1 -1
  67. package/dist/services.d.ts.map +1 -1
  68. package/dist/services.js +7 -0
  69. package/dist/services.js.map +1 -1
  70. package/package.json +1 -1
@@ -0,0 +1,236 @@
1
+ /**
2
+ * CLI command: npx canopycms migrate
3
+ *
4
+ * Converts an existing plain content tree into CanopyCMS conventions:
5
+ * - Entry files: getting-started.md → doc.getting-started.<id>.md
6
+ * - Directories: guides/ → guides.<id>/ with a .collection.json
7
+ * - Root: gets a .collection.json when it holds entry files directly
8
+ *
9
+ * Only files of the chosen format are migrated; everything else (assets,
10
+ * other formats) is left untouched, and directories with no matching content
11
+ * anywhere beneath them are skipped. Already-conforming names are skipped,
12
+ * so re-running is a no-op. Source-specific ordering conventions (e.g.
13
+ * Nextra _meta.json) are out of scope — order defaults to alphabetical.
14
+ */
15
+ import fs from 'node:fs/promises';
16
+ import path from 'node:path';
17
+ import * as p from '@clack/prompts';
18
+ import { generateId, isValidId } from '../id.js';
19
+ import { extractIdFromFilename } from '../content-id-index.js';
20
+ import { parseSlug } from '../paths/index.js';
21
+ import { filePathExists } from '../utils/fs.js';
22
+ import { loadCollectionMetaFiles } from '../schema/index.js';
23
+ import { getErrorMessage } from '../utils/error.js';
24
+ export const MIGRATE_FORMATS = ['md', 'mdx', 'json', 'yaml'];
25
+ /** Migration precondition failure — thrown so the CLI exits non-zero. */
26
+ export class MigrateError extends Error {
27
+ constructor(message) {
28
+ super(message);
29
+ this.name = 'MigrateError';
30
+ }
31
+ }
32
+ /**
33
+ * Normalize a file/directory base name into a slug the whole CMS accepts.
34
+ * Must satisfy parseSlug (/^[a-z0-9][a-z0-9-]*$/) — underscores are NOT allowed:
35
+ * the editor would save them but the public read path (readByUrlPath/read)
36
+ * rejects them, leaving migrated pages unreachable.
37
+ */
38
+ export function slugifyName(name) {
39
+ const slug = name
40
+ .toLowerCase()
41
+ .replace(/[^a-z0-9-]+/g, '-')
42
+ .replace(/-+/g, '-')
43
+ .replace(/^-+|-+$/g, '');
44
+ return slug || 'item';
45
+ }
46
+ /** Slugify and assert the result is valid for the content store — fail the plan, not the tree. */
47
+ function toValidSlug(name) {
48
+ const slug = slugifyName(name);
49
+ const parsed = parseSlug(slug);
50
+ if (!parsed.ok) {
51
+ throw new MigrateError(`Cannot derive a valid slug from "${name}" (got "${slug}"): ${parsed.error}`);
52
+ }
53
+ return slug;
54
+ }
55
+ /**
56
+ * Already-conforming entry file: {type}.{slug}.{id}.{ext} — requires the full
57
+ * 4-part shape, not just any embedded ID, so a coincidental 12-char Base58
58
+ * segment (e.g. "report.attachments1.md") still gets migrated.
59
+ */
60
+ function isConformingEntryFile(fileName) {
61
+ const parts = fileName.split('.');
62
+ return parts.length >= 4 && isValidId(parts[parts.length - 2]);
63
+ }
64
+ /** Strip a trailing .<12-char-id> from a directory name, if present. */
65
+ function stripDirIdSuffix(dirName) {
66
+ const parts = dirName.split('.');
67
+ if (parts.length === 2 && extractIdFromFilename(dirName))
68
+ return parts[0];
69
+ return dirName;
70
+ }
71
+ /**
72
+ * Plan one directory, depth-first. Ops are ordered so that everything inside a
73
+ * directory (file renames, .collection.json creation, nested dirs) happens
74
+ * before the directory itself is renamed by its parent.
75
+ */
76
+ async function planDirectory(dirPath, isRoot, ctx) {
77
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
78
+ entries.sort((a, b) => a.name.localeCompare(b.name));
79
+ const ops = [];
80
+ let hasOwnFiles = false;
81
+ let hasContent = false;
82
+ for (const entry of entries) {
83
+ if (entry.name.startsWith('.'))
84
+ continue;
85
+ if (entry.isDirectory()) {
86
+ const subPath = path.join(dirPath, entry.name);
87
+ const sub = await planDirectory(subPath, false, ctx);
88
+ if (!sub.hasContent)
89
+ continue; // no target-format content anywhere beneath — leave untouched
90
+ hasContent = true;
91
+ ops.push(...sub.ops);
92
+ if (!extractIdFromFilename(entry.name)) {
93
+ const newName = `${toValidSlug(entry.name)}.${generateId()}`;
94
+ ops.push({ kind: 'rename', from: subPath, to: path.join(dirPath, newName) });
95
+ }
96
+ }
97
+ else if (entry.isFile()) {
98
+ const ext = path.extname(entry.name).slice(1);
99
+ // 'yaml' format also matches the common .yml extension (kept as-is in the rename)
100
+ const matchesFormat = ext === ctx.format || (ctx.format === 'yaml' && ext === 'yml');
101
+ if (!matchesFormat)
102
+ continue;
103
+ hasOwnFiles = true;
104
+ hasContent = true;
105
+ if (!isConformingEntryFile(entry.name)) {
106
+ const base = entry.name.slice(0, -(ext.length + 1));
107
+ const newName = `${ctx.entryType}.${toValidSlug(base)}.${generateId()}.${ext}`;
108
+ ops.push({
109
+ kind: 'rename',
110
+ from: path.join(dirPath, entry.name),
111
+ to: path.join(dirPath, newName),
112
+ });
113
+ }
114
+ }
115
+ }
116
+ // Collection meta: every content-bearing directory becomes a collection.
117
+ // The root only needs one when entry files live directly in it.
118
+ const needsMeta = isRoot ? hasOwnFiles : hasContent;
119
+ const metaPath = path.join(dirPath, '.collection.json');
120
+ if (needsMeta && !(await filePathExists(metaPath))) {
121
+ const entryTypeMeta = { name: ctx.entryType, format: ctx.format, schema: ctx.schema };
122
+ const meta = isRoot
123
+ ? { entries: [entryTypeMeta] }
124
+ : { name: toValidSlug(stripDirIdSuffix(path.basename(dirPath))), entries: [entryTypeMeta] };
125
+ ops.push({ kind: 'write', filePath: metaPath, content: JSON.stringify(meta, null, 2) + '\n' });
126
+ }
127
+ return { ops, hasContent };
128
+ }
129
+ const describeOp = (op, baseDir) => op.kind === 'rename'
130
+ ? `rename ${path.relative(baseDir, op.from)} → ${path.basename(op.to)}`
131
+ : `create ${path.relative(baseDir, op.filePath)}`;
132
+ /** Run the migrate command. Returns the number of operations applied. */
133
+ export async function migrate(options) {
134
+ const { projectDir } = options;
135
+ const contentRoot = options.contentRoot || 'content';
136
+ p.intro('CanopyCMS migrate');
137
+ const contentDir = path.join(projectDir, contentRoot);
138
+ if (!(await filePathExists(contentDir))) {
139
+ throw new MigrateError(`Content directory not found: ${contentRoot}/ (expected at ${contentDir})`);
140
+ }
141
+ // Resolve entry type / format / schema from flags, prompting for what's missing
142
+ let entryType = options.entryType;
143
+ if (!entryType) {
144
+ const result = await p.text({
145
+ message: 'Entry type name (used in file names and .collection.json)?',
146
+ placeholder: 'doc',
147
+ defaultValue: 'doc',
148
+ });
149
+ if (p.isCancel(result)) {
150
+ p.cancel('Migrate cancelled.');
151
+ return { opCount: 0 };
152
+ }
153
+ entryType = result;
154
+ }
155
+ // The entry type is interpolated into {type}.{slug}.{id}.{ext} filenames — an
156
+ // invalid value (dots, slashes, uppercase) would corrupt the filename grammar
157
+ // or escape the target directory.
158
+ if (!/^[a-z0-9][a-z0-9-]*$/.test(entryType)) {
159
+ throw new MigrateError(`Invalid entry type "${entryType}" — use lowercase letters, digits, and hyphens (e.g. "doc").`);
160
+ }
161
+ let format = options.format;
162
+ if (format && !MIGRATE_FORMATS.includes(format)) {
163
+ throw new MigrateError(`Invalid --format "${format}". Use one of: ${MIGRATE_FORMATS.join(', ')}`);
164
+ }
165
+ if (!format) {
166
+ const result = await p.select({
167
+ message: 'Which file format should be migrated?',
168
+ options: MIGRATE_FORMATS.map((f) => ({ value: f, label: f })),
169
+ initialValue: 'md',
170
+ });
171
+ if (p.isCancel(result)) {
172
+ p.cancel('Migrate cancelled.');
173
+ return { opCount: 0 };
174
+ }
175
+ format = result;
176
+ }
177
+ let schema = options.schema;
178
+ if (!schema) {
179
+ const result = await p.text({
180
+ message: 'Entry schema registry key (from your schemas.ts)?',
181
+ placeholder: `${entryType}Schema`,
182
+ defaultValue: `${entryType}Schema`,
183
+ });
184
+ if (p.isCancel(result)) {
185
+ p.cancel('Migrate cancelled.');
186
+ return { opCount: 0 };
187
+ }
188
+ schema = result;
189
+ }
190
+ const { ops } = await planDirectory(contentDir, true, { entryType, format, schema });
191
+ if (ops.length === 0) {
192
+ p.log.info('Nothing to migrate — content already follows CanopyCMS conventions.');
193
+ p.outro('Done!');
194
+ return { opCount: 0 };
195
+ }
196
+ p.log.step(`Planned ${ops.length} operation(s) in ${contentRoot}/:`);
197
+ for (const op of ops) {
198
+ p.log.info(` ${describeOp(op, contentDir)}`);
199
+ }
200
+ if (options.dryRun) {
201
+ p.outro('Dry run — nothing was changed.');
202
+ return { opCount: 0 };
203
+ }
204
+ if (!options.force) {
205
+ const confirm = await p.confirm({
206
+ message: `Apply ${ops.length} operation(s)? (renames are not tracked by git automatically)`,
207
+ initialValue: false,
208
+ });
209
+ if (p.isCancel(confirm) || !confirm) {
210
+ p.cancel('Migrate cancelled.');
211
+ return { opCount: 0 };
212
+ }
213
+ }
214
+ for (const op of ops) {
215
+ if (op.kind === 'rename') {
216
+ await fs.rename(op.from, op.to);
217
+ }
218
+ else {
219
+ await fs.writeFile(op.filePath, op.content, 'utf-8');
220
+ }
221
+ }
222
+ p.log.success(`Applied ${ops.length} operation(s).`);
223
+ // Sanity-check the result: all .collection.json files must parse
224
+ try {
225
+ const result = await loadCollectionMetaFiles(contentDir);
226
+ p.log.success(`Validated: ${result.collections.length} collection(s)${result.root ? ' + root' : ''} loaded cleanly.`);
227
+ }
228
+ catch (err) {
229
+ p.log.error(`Post-migration validation failed: ${getErrorMessage(err)}`);
230
+ throw new MigrateError('Migration applied, but the resulting content tree failed validation.');
231
+ }
232
+ p.log.info(`Next: ensure "${schema}" exists in your schemas.ts entry schema registry.`);
233
+ p.outro('Done!');
234
+ return { opCount: ops.length };
235
+ }
236
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Project root discovery for CLI commands.
3
+ *
4
+ * Commands that operate on an existing CanopyCMS project (sync, worker,
5
+ * generate-ai-content) resolve the project root by walking up from the
6
+ * current directory to the nearest canopycms.config.ts — like git does
7
+ * with .git — so running from a subdirectory works and never scatters
8
+ * state (e.g. .canopy-dev/) into the wrong directory.
9
+ */
10
+ /** Config file that marks the root of a CanopyCMS project. */
11
+ export declare const PROJECT_MARKER = "canopycms.config.ts";
12
+ /**
13
+ * Walk up from startDir to the nearest directory containing canopycms.config.ts.
14
+ * Returns null when no project root is found.
15
+ */
16
+ export declare function findProjectRoot(startDir: string): Promise<string | null>;
17
+ //# sourceMappingURL=project-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/cli/project-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,8DAA8D;AAC9D,eAAO,MAAM,cAAc,wBAAwB,CAAA;AAEnD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ9E"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Project root discovery for CLI commands.
3
+ *
4
+ * Commands that operate on an existing CanopyCMS project (sync, worker,
5
+ * generate-ai-content) resolve the project root by walking up from the
6
+ * current directory to the nearest canopycms.config.ts — like git does
7
+ * with .git — so running from a subdirectory works and never scatters
8
+ * state (e.g. .canopy-dev/) into the wrong directory.
9
+ */
10
+ import path from 'node:path';
11
+ import { filePathExists } from '../utils/fs.js';
12
+ /** Config file that marks the root of a CanopyCMS project. */
13
+ export const PROJECT_MARKER = 'canopycms.config.ts';
14
+ /**
15
+ * Walk up from startDir to the nearest directory containing canopycms.config.ts.
16
+ * Returns null when no project root is found.
17
+ */
18
+ export async function findProjectRoot(startDir) {
19
+ let dir = path.resolve(startDir);
20
+ for (;;) {
21
+ if (await filePathExists(path.join(dir, PROJECT_MARKER)))
22
+ return dir;
23
+ const parent = path.dirname(dir);
24
+ if (parent === dir)
25
+ return null;
26
+ dir = parent;
27
+ }
28
+ }
29
+ //# sourceMappingURL=project-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/cli/project-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChC,SAAS,CAAC;QACR,IAAI,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAE,OAAO,GAAG,CAAA;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAA;QAC/B,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -21,6 +21,14 @@ export interface SyncOptions {
21
21
  /** Skip confirmation prompts (for testing or scripts). */
22
22
  force?: boolean;
23
23
  }
24
+ /**
25
+ * Sync precondition failure (missing content dir, unknown branch, …).
26
+ * Thrown so the CLI exits non-zero — scripts/CI must not sail past a
27
+ * push that synced nothing.
28
+ */
29
+ export declare class SyncError extends Error {
30
+ constructor(message: string);
31
+ }
24
32
  /**
25
33
  * Run the sync command.
26
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgBH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AA0cD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB5F"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgBH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AA0cD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB5F"}
package/dist/cli/sync.js CHANGED
@@ -18,6 +18,17 @@ import { simpleGit } from 'simple-git';
18
18
  import * as p from '@clack/prompts';
19
19
  import { filePathExists } from '../utils/fs.js';
20
20
  import { assertWithinDir, copyDir, listFilesRecursive, pushContentToWorkspace, safeReplaceDir, SYNC_BASE_TAG, } from '../sync-core.js';
21
+ /**
22
+ * Sync precondition failure (missing content dir, unknown branch, …).
23
+ * Thrown so the CLI exits non-zero — scripts/CI must not sail past a
24
+ * push that synced nothing.
25
+ */
26
+ export class SyncError extends Error {
27
+ constructor(message) {
28
+ super(message);
29
+ this.name = 'SyncError';
30
+ }
31
+ }
21
32
  /** Detect the current git branch name from the working tree. */
22
33
  async function detectCurrentBranch(projectDir) {
23
34
  const git = simpleGit({ baseDir: projectDir });
@@ -49,8 +60,7 @@ async function selectBranch(options, branchesDir) {
49
60
  }
50
61
  if (!branchName) {
51
62
  if (branches.length === 0) {
52
- p.log.error('No branch workspaces found and could not detect current git branch. Use --branch to specify.');
53
- return null;
63
+ throw new SyncError('No branch workspaces found and could not detect current git branch. Use --branch to specify.');
54
64
  }
55
65
  if (branches.length === 1) {
56
66
  branchName = branches[0];
@@ -83,11 +93,8 @@ async function selectBranch(options, branchesDir) {
83
93
  p.log.info(`Created branch workspace: ${branchName}`);
84
94
  }
85
95
  else {
86
- p.log.error(`Branch workspace "${branchName}" not found.`);
87
- if (branches.length > 0) {
88
- p.log.info(`Available branches: ${branches.join(', ')}`);
89
- }
90
- return null;
96
+ const available = branches.length > 0 ? ` Available branches: ${branches.join(', ')}` : '';
97
+ throw new SyncError(`Branch workspace "${branchName}" not found.${available}`);
91
98
  }
92
99
  }
93
100
  return branchName;
@@ -100,19 +107,19 @@ async function syncPush(options) {
100
107
  const { projectDir } = options;
101
108
  const contentRoot = options.contentRoot || 'content';
102
109
  const branchesDir = path.join(projectDir, '.canopy-dev', 'content-branches');
110
+ // Validate source content BEFORE selectBranch, which may create a workspace —
111
+ // a push with nothing to push must not leave side effects behind.
112
+ const srcContentDir = path.join(projectDir, contentRoot);
113
+ assertWithinDir(srcContentDir, projectDir, '--content-root');
114
+ if (!(await filePathExists(srcContentDir))) {
115
+ throw new SyncError(`Content directory not found: ${contentRoot}/ (expected at ${srcContentDir})`);
116
+ }
103
117
  const branchName = await selectBranch({ ...options, projectDir, autoCreate: true }, branchesDir);
104
118
  if (!branchName)
105
119
  return { fileCount: 0 };
106
120
  const branchPath = path.join(branchesDir, branchName);
107
121
  assertWithinDir(branchPath, branchesDir, '--branch');
108
122
  const wsGit = simpleGit({ baseDir: branchPath });
109
- // Validate source content
110
- const srcContentDir = path.join(projectDir, contentRoot);
111
- assertWithinDir(srcContentDir, projectDir, '--content-root');
112
- if (!(await filePathExists(srcContentDir))) {
113
- p.log.warn(`Content directory not found: ${contentRoot}/`);
114
- return { fileCount: 0 };
115
- }
116
123
  // Check workspace health
117
124
  const status = await wsGit.status();
118
125
  if (status.conflicted.length > 0) {
@@ -184,8 +191,7 @@ async function syncPull(options) {
184
191
  const branchContentDir = path.join(branchPath, contentRoot);
185
192
  assertWithinDir(branchContentDir, branchPath, '--content-root');
186
193
  if (!(await filePathExists(branchContentDir))) {
187
- p.log.error(`Content directory not found in branch workspace: ${branchName}/${contentRoot}`);
188
- return { fileCount: 0 };
194
+ throw new SyncError(`Content directory not found in branch workspace: ${branchName}/${contentRoot}`);
189
195
  }
190
196
  p.log.step(`Pulling content from branch: ${branchName}`);
191
197
  const destContentDir = path.join(projectDir, contentRoot);
@@ -284,19 +290,18 @@ async function syncBoth(options) {
284
290
  const { projectDir } = options;
285
291
  const contentRoot = options.contentRoot || 'content';
286
292
  const branchesDir = path.join(projectDir, '.canopy-dev', 'content-branches');
293
+ // Validate source content BEFORE selectBranch, which may create a workspace
294
+ const srcContentDir = path.join(projectDir, contentRoot);
295
+ assertWithinDir(srcContentDir, projectDir, '--content-root');
296
+ if (!(await filePathExists(srcContentDir))) {
297
+ throw new SyncError(`Content directory not found: ${contentRoot}/ (expected at ${srcContentDir})`);
298
+ }
287
299
  const branchName = await selectBranch({ ...options, projectDir, autoCreate: true }, branchesDir);
288
300
  if (!branchName)
289
301
  return { pushed: 0, pulled: 0 };
290
302
  const branchPath = path.join(branchesDir, branchName);
291
303
  assertWithinDir(branchPath, branchesDir, '--branch');
292
304
  const wsGit = simpleGit({ baseDir: branchPath });
293
- // Validate source content
294
- const srcContentDir = path.join(projectDir, contentRoot);
295
- assertWithinDir(srcContentDir, projectDir, '--content-root');
296
- if (!(await filePathExists(srcContentDir))) {
297
- p.log.warn(`Content directory not found: ${contentRoot}/`);
298
- return { pushed: 0, pulled: 0 };
299
- }
300
305
  // Check workspace health
301
306
  const status = await wsGit.status();
302
307
  if (status.conflicted.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ // CanopyCMS AI content endpoint — server (CMS) builds only.
2
+ // With dual-build (staticBuild), this file is generated as route.server.ts and
3
+ // excluded from the static export. For static sites, generate AI content files at
4
+ // build time instead: npx canopycms generate-ai-content
1
5
  import { createAIContentHandler } from 'canopycms/ai'
2
6
  import config from '{{CONFIG_IMPORT}}'
3
7
  import { entrySchemaRegistry } from '../../schemas'
@@ -3,7 +3,7 @@ import { defineCanopyConfig } from 'canopycms'
3
3
  export default defineCanopyConfig({
4
4
  defaultBranchAccess: 'allow',
5
5
  mode: '{{MODE}}',
6
- gitBotAuthorName: 'CanopyCMS Bot',
6
+ {{DEPLOYED_AS}} gitBotAuthorName: 'CanopyCMS Bot',
7
7
  gitBotAuthorEmail: 'canopycms-bot@example.com',
8
8
  editor: {
9
9
  title: 'CanopyCMS Editor',
@@ -1,13 +1,20 @@
1
1
  import { withCanopy } from 'canopycms-next/config'
2
2
 
3
- const isCmsBuild = process.env.CANOPY_BUILD === 'cms'
4
-
5
- // Dual-build: static export for the public site, standalone Node.js server for the CMS.
3
+ // Dual-build via CANOPY_BUILD:
4
+ // CANOPY_BUILD=static -> static export of the public site (editor/API excluded)
5
+ // CANOPY_BUILD=cms -> standalone Node.js server for the CMS
6
+ // unset (next dev, or a plain `next build`) -> regular server build with the editor included
6
7
  // If deploying the CMS build to Vercel or another platform that doesn't use standalone,
7
8
  // change 'standalone' to the appropriate output mode for your platform.
9
+ const buildFlavor = process.env.CANOPY_BUILD
10
+
8
11
  export default withCanopy(
9
12
  {
10
- output: isCmsBuild ? 'standalone' : 'export',
13
+ ...(buildFlavor === 'static'
14
+ ? { output: 'export' as const }
15
+ : buildFlavor === 'cms'
16
+ ? { output: 'standalone' as const }
17
+ : {}),
11
18
  },
12
- { staticBuild: !isCmsBuild },
19
+ { staticBuild: buildFlavor === 'static' },
13
20
  )
@@ -1,3 +1,6 @@
1
+ // CanopyCMS editor/API catch-all route — server (CMS) builds only.
2
+ // With dual-build (staticBuild), this file is generated as route.server.ts and
3
+ // excluded from the static export: API routes cannot run under `output: 'export'`.
1
4
  import { getHandler } from '{{CANOPY_IMPORT}}'
2
5
  import type { NextRequest } from 'next/server'
3
6
 
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export declare function canopyCmsConfig(options: {
6
6
  mode: string;
7
+ staticBuild?: boolean;
7
8
  }): Promise<string>;
8
9
  export declare function canopyContext(options: {
9
10
  configImport: string;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,OAAO,GAAG,KAAK,CAAA;CAC9B,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAEvD;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjF;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,OAAO,GAAG,KAAK,CAAA;CAC9B,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhD;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,YAAY,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAKnF;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEzD"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,OAAO,GAAG,KAAK,CAAA;CAC9B,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAEvD;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjF;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,OAAO,GAAG,KAAK,CAAA;CAC9B,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhD;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,YAAY,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAKnF;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEzD"}
@@ -12,7 +12,16 @@ async function readTemplate(name) {
12
12
  }
13
13
  export async function canopyCmsConfig(options) {
14
14
  const template = await readTemplate('canopycms.config.ts.template');
15
- return template.replace('{{MODE}}', options.mode);
15
+ // Dual-build sites flip deployedAs per build: the public static export reads
16
+ // content with no auth/request context, while dev and the CMS build run as a
17
+ // server. Defaulting to 'server' is required — the CMS server re-evaluates
18
+ // this config at runtime, and `next dev` must never get 'static'.
19
+ const deployedAs = options.staticBuild
20
+ ? ' // Static public export: build with CANOPY_BUILD=static (CMS build uses CANOPY_BUILD=cms,\n' +
21
+ ' // see next.config.ts). Anything else runs as a server.\n' +
22
+ " deployedAs: process.env.CANOPY_BUILD === 'static' ? 'static' : 'server',\n"
23
+ : '';
24
+ return template.replace('{{MODE}}', options.mode).replace('{{DEPLOYED_AS}}', deployedAs);
16
25
  }
17
26
  export async function canopyContext(options) {
18
27
  const template = await readTemplate('canopy.ts.template');
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE5D,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAGrC;IACC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,8BAA8B,CAAC,CAAA;IACnE,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,kEAAkE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW;QACpC,CAAC,CAAC,+FAA+F;YAC/F,6DAA6D;YAC7D,8EAA8E;QAChF,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAGnC;IACC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,CAAA;IAEzD,MAAM,WAAW,GACf,OAAO,CAAC,YAAY,KAAK,OAAO;QAC9B,CAAC,CAAC,wHAAwH;QAC1H,CAAC,CAAC,0DAA0D,CAAA;IAEhE,MAAM,UAAU,GACd,OAAO,CAAC,YAAY,KAAK,OAAO;QAC9B,CAAC,CAAC,4IAA4I;QAC9I,CAAC,CAAC,uBAAuB,CAAA;IAE7B,OAAO,QAAQ;SACZ,OAAO,CAAC,kBAAkB,EAAE,WAAW,CAAC;SACxC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACtC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAiC;IAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,CAAA;IACxD,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAG9B;IACC,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,wBAAwB,CAAA;IAC1F,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAA;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,OAAO,YAAY,CAAC,uBAAuB,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAiC;IAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,sBAAsB,CAAC,CAAA;IAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0C;IACzE,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,wBAAwB,CAAA;IAC9F,OAAO,YAAY,CAAC,YAAY,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAiC;IAChE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW;QACtC,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,yBAAyB,CAAA;IAC7B,OAAO,YAAY,CAAC,YAAY,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,YAAY,CAAC,yBAAyB,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,YAAY,CAAC,yBAAyB,CAAC,CAAA;AAChD,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * import { defineCanopyConfig, type FieldConfig } from 'canopycms/config'
9
9
  * ```
10
10
  */
11
- export type { PrimitiveFieldType, FieldType, ContentFormat, MediaAdapterKind, PermissionLevel, PermissionTarget, PathPermission, SelectOption, ReferenceOption, FieldConfig, BlockConfig, BlockFieldConfig, SelectFieldConfig, ReferenceFieldConfig, ObjectFieldConfig, InlineGroupFieldConfig, CustomFieldConfig, EntrySchema, BranchSchema, EntryTypeConfig, CollectionConfig, RootCollectionConfig, MediaConfig, CanopyEditorConfig, DefaultBranchAccess, DefaultPathAccess, DefaultBaseBranch, DefaultRemoteName, DefaultRemoteUrl, GitBotAuthorName, GitBotAuthorEmail, GithubTokenEnvVar, CanopyOperatingMode, ContentRoot, SourceRoot, CanopyConfig, CanopyConfigInput, CanopyConfigFragment, FlatSchemaItem, CanopyClientConfig, ClientOnlyFields, } from './types';
11
+ export type { PrimitiveFieldType, FieldType, ContentFormat, MediaAdapterKind, PermissionLevel, PermissionTarget, PathPermission, SelectOption, ReferenceOption, FieldConfig, BlockConfig, BlockFieldConfig, SelectFieldConfig, ReferenceFieldConfig, ObjectFieldConfig, InlineGroupFieldConfig, CustomFieldConfig, EntrySchema, BranchSchema, EntryTypeConfig, CollectionConfig, RootCollectionConfig, MediaConfig, CanopyEditorConfig, DefaultBranchAccess, DefaultPathAccess, DefaultBaseBranch, DefaultRemoteName, DefaultRemoteUrl, GitBotAuthorName, GitBotAuthorEmail, GithubTokenEnvVar, CanopyOperatingMode, ContentRoot, SourceRoot, CanopyConfig, CanopyConfigInput, CanopyConfigFragment, FlatSchemaItem, CanopyClientConfig, ClientOnlyFields, EntryValidationIssue, ValidateEntryInput, ValidateEntryHook, } from './types';
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';