canopycms 0.0.8 → 0.0.10

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.
@@ -7,7 +7,8 @@ import type { CanopyConfig } from '../config';
7
7
  * Resolve the branch root directory for reading content.
8
8
  *
9
9
  * - Dev mode: current working directory (content is in the checkout)
10
- * - Prod/prod-sim: load the default base branch context
10
+ * - Static deployment: current working directory (content is in the checkout)
11
+ * - Prod/prod-sim server: load the default base branch context
11
12
  */
12
13
  export declare function resolveBranchRoot(config: CanopyConfig): Promise<string>;
13
14
  //# sourceMappingURL=resolve-branch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-branch.d.ts","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB7E"}
1
+ {"version":3,"file":"resolve-branch.d.ts","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB7E"}
@@ -3,14 +3,16 @@
3
3
  * Used by both the route handler and build utility.
4
4
  */
5
5
  import { loadBranchContext } from '../branch-metadata';
6
+ import { isDeployedStatic } from '../build-mode';
6
7
  /**
7
8
  * Resolve the branch root directory for reading content.
8
9
  *
9
10
  * - Dev mode: current working directory (content is in the checkout)
10
- * - Prod/prod-sim: load the default base branch context
11
+ * - Static deployment: current working directory (content is in the checkout)
12
+ * - Prod/prod-sim server: load the default base branch context
11
13
  */
12
14
  export async function resolveBranchRoot(config) {
13
- if (config.mode === 'dev') {
15
+ if (config.mode === 'dev' || isDeployedStatic(config)) {
14
16
  return process.cwd();
15
17
  }
16
18
  const baseBranch = config.defaultBaseBranch ?? 'main';
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-branch.js","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAoB;IAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAA;IACrD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,UAAU,KAAK;YACnD,oDAAoD,CACvD,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"resolve-branch.js","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAoB;IAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAA;IACrD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,UAAU,KAAK;YACnD,oDAAoD,CACvD,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAA;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-ai-content.d.ts","sourceRoot":"","sources":["../../src/cli/generate-ai-content.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,UAAU,2BAA2B;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkF9F"}
1
+ {"version":3,"file":"generate-ai-content.d.ts","sourceRoot":"","sources":["../../src/cli/generate-ai-content.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,UAAU,2BAA2B;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAqF9F"}
@@ -1,5 +1,6 @@
1
1
  // dist/cli/generate-ai-content.js
2
2
  import path11 from "node:path";
3
+ import { createJiti } from "jiti";
3
4
 
4
5
  // dist/build/generate-ai-content.js
5
6
  import fs8 from "node:fs/promises";
@@ -2592,9 +2593,21 @@ var loadBranchContext = async (options) => {
2592
2593
  };
2593
2594
  };
2594
2595
 
2596
+ // dist/build-mode.js
2597
+ var isDeployedStatic = (config) => {
2598
+ return config.deployedAs === "static";
2599
+ };
2600
+ var STATIC_DEPLOY_USER = Object.freeze({
2601
+ type: "authenticated",
2602
+ userId: "__static_deploy__",
2603
+ groups: ["Admins"],
2604
+ email: "static-deploy@canopycms",
2605
+ name: "Static Deploy"
2606
+ });
2607
+
2595
2608
  // dist/ai/resolve-branch.js
2596
2609
  async function resolveBranchRoot(config) {
2597
- if (config.mode === "dev") {
2610
+ if (config.mode === "dev" || isDeployedStatic(config)) {
2598
2611
  return process.cwd();
2599
2612
  }
2600
2613
  const baseBranch = config.defaultBaseBranch ?? "main";
@@ -2643,13 +2656,14 @@ async function generateAIContentFiles(options) {
2643
2656
  }
2644
2657
 
2645
2658
  // dist/cli/generate-ai-content.js
2659
+ var jiti = createJiti(import.meta.url);
2646
2660
  async function generateAIContentCLI(options) {
2647
2661
  const { projectDir, outputDir = "public/ai", configPath, appDir = "app" } = options;
2648
2662
  console.log("\nCanopyCMS generate-ai-content\n");
2649
2663
  const canopyConfigPath = path11.join(projectDir, "canopycms.config.ts");
2650
2664
  let canopyConfigModule;
2651
2665
  try {
2652
- canopyConfigModule = await import(canopyConfigPath);
2666
+ canopyConfigModule = await jiti.import(canopyConfigPath);
2653
2667
  } catch (err) {
2654
2668
  console.error(`Could not load config from ${canopyConfigPath}`);
2655
2669
  console.error(getErrorMessage(err));
@@ -2660,7 +2674,7 @@ async function generateAIContentCLI(options) {
2660
2674
  const schemasPath = path11.join(projectDir, appDir, "schemas.ts");
2661
2675
  let entrySchemaRegistry = {};
2662
2676
  try {
2663
- const schemasModule = await import(schemasPath);
2677
+ const schemasModule = await jiti.import(schemasPath);
2664
2678
  entrySchemaRegistry = schemasModule.entrySchemaRegistry ?? schemasModule;
2665
2679
  } catch {
2666
2680
  console.warn(` No ${appDir}/schemas.ts found, using empty entry schema registry`);
@@ -2668,7 +2682,7 @@ async function generateAIContentCLI(options) {
2668
2682
  let aiConfig;
2669
2683
  if (configPath) {
2670
2684
  try {
2671
- const aiConfigModule = await import(path11.resolve(configPath));
2685
+ const aiConfigModule = await jiti.import(path11.resolve(configPath));
2672
2686
  aiConfig = aiConfigModule.aiContentConfig ?? aiConfigModule.default ?? aiConfigModule.config;
2673
2687
  } catch (err) {
2674
2688
  console.error(`Could not load AI config from ${configPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-ai-content.js","sourceRoot":"","sources":["../../src/cli/generate-ai-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-ai-content.js","sourceRoot":"","sources":["../../src/cli/generate-ai-content.ts"],"names":[],"mappings":"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"}
package/dist/cli/init.js CHANGED
@@ -3391,9 +3391,27 @@ var init_branch_metadata = __esm({
3391
3391
  }
3392
3392
  });
3393
3393
 
3394
+ // dist/build-mode.js
3395
+ var isDeployedStatic, STATIC_DEPLOY_USER;
3396
+ var init_build_mode = __esm({
3397
+ "dist/build-mode.js"() {
3398
+ "use strict";
3399
+ isDeployedStatic = (config) => {
3400
+ return config.deployedAs === "static";
3401
+ };
3402
+ STATIC_DEPLOY_USER = Object.freeze({
3403
+ type: "authenticated",
3404
+ userId: "__static_deploy__",
3405
+ groups: ["Admins"],
3406
+ email: "static-deploy@canopycms",
3407
+ name: "Static Deploy"
3408
+ });
3409
+ }
3410
+ });
3411
+
3394
3412
  // dist/ai/resolve-branch.js
3395
3413
  async function resolveBranchRoot(config) {
3396
- if (config.mode === "dev") {
3414
+ if (config.mode === "dev" || isDeployedStatic(config)) {
3397
3415
  return process.cwd();
3398
3416
  }
3399
3417
  const baseBranch = config.defaultBaseBranch ?? "main";
@@ -3410,6 +3428,7 @@ var init_resolve_branch = __esm({
3410
3428
  "dist/ai/resolve-branch.js"() {
3411
3429
  "use strict";
3412
3430
  init_branch_metadata();
3431
+ init_build_mode();
3413
3432
  }
3414
3433
  });
3415
3434
 
@@ -3464,13 +3483,14 @@ __export(generate_ai_content_exports, {
3464
3483
  generateAIContentCLI: () => generateAIContentCLI
3465
3484
  });
3466
3485
  import path14 from "node:path";
3486
+ import { createJiti } from "jiti";
3467
3487
  async function generateAIContentCLI(options) {
3468
3488
  const { projectDir, outputDir = "public/ai", configPath, appDir = "app" } = options;
3469
3489
  console.log("\nCanopyCMS generate-ai-content\n");
3470
3490
  const canopyConfigPath = path14.join(projectDir, "canopycms.config.ts");
3471
3491
  let canopyConfigModule;
3472
3492
  try {
3473
- canopyConfigModule = await import(canopyConfigPath);
3493
+ canopyConfigModule = await jiti.import(canopyConfigPath);
3474
3494
  } catch (err) {
3475
3495
  console.error(`Could not load config from ${canopyConfigPath}`);
3476
3496
  console.error(getErrorMessage(err));
@@ -3481,7 +3501,7 @@ async function generateAIContentCLI(options) {
3481
3501
  const schemasPath = path14.join(projectDir, appDir, "schemas.ts");
3482
3502
  let entrySchemaRegistry = {};
3483
3503
  try {
3484
- const schemasModule = await import(schemasPath);
3504
+ const schemasModule = await jiti.import(schemasPath);
3485
3505
  entrySchemaRegistry = schemasModule.entrySchemaRegistry ?? schemasModule;
3486
3506
  } catch {
3487
3507
  console.warn(` No ${appDir}/schemas.ts found, using empty entry schema registry`);
@@ -3489,7 +3509,7 @@ async function generateAIContentCLI(options) {
3489
3509
  let aiConfig2;
3490
3510
  if (configPath) {
3491
3511
  try {
3492
- const aiConfigModule = await import(path14.resolve(configPath));
3512
+ const aiConfigModule = await jiti.import(path14.resolve(configPath));
3493
3513
  aiConfig2 = aiConfigModule.aiContentConfig ?? aiConfigModule.default ?? aiConfigModule.config;
3494
3514
  } catch (err) {
3495
3515
  console.error(`Could not load AI config from ${configPath}`);
@@ -3520,11 +3540,13 @@ async function generateAIContentCLI(options) {
3520
3540
  console.log(` Output: ${result.outputDir}
3521
3541
  `);
3522
3542
  }
3543
+ var jiti;
3523
3544
  var init_generate_ai_content2 = __esm({
3524
3545
  "dist/cli/generate-ai-content.js"() {
3525
3546
  "use strict";
3526
3547
  init_generate_ai_content();
3527
3548
  init_error();
3549
+ jiti = createJiti(import.meta.url);
3528
3550
  }
3529
3551
  });
3530
3552
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "//": "@codemirror/language, @lezer/highlight: workaround — @mdxeditor/editor uses cm6-theme-basic-light which peer-requires these but mdxeditor doesn't declare them as dependencies",
3
3
  "name": "canopycms",
4
- "version": "0.0.8",
4
+ "version": "0.0.10",
5
5
  "description": "CanopyCMS core package: schema-driven content, branch-aware editing, and editor UI for Next.js.",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -91,6 +91,7 @@
91
91
  "chokidar": "^4.0.3",
92
92
  "chroma-js": "^3.2.0",
93
93
  "gray-matter": "^4.0.3",
94
+ "jiti": "^2.6.1",
94
95
  "minimatch": "^9.0.5",
95
96
  "pathe": "^1.1.2",
96
97
  "react-icons": "^5.5.0",