@leadcms/sdk 2.2.2 → 2.2.4

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 (75) hide show
  1. package/README.md +34 -0
  2. package/dist/cli/bin/generate-env.d.ts +6 -0
  3. package/dist/cli/bin/generate-env.d.ts.map +1 -0
  4. package/dist/cli/bin/generate-env.js +7 -0
  5. package/dist/cli/bin/generate-env.js.map +1 -0
  6. package/dist/cli/bin/init.d.ts +6 -0
  7. package/dist/cli/bin/init.d.ts.map +1 -0
  8. package/dist/cli/bin/init.js +7 -0
  9. package/dist/cli/bin/init.js.map +1 -0
  10. package/dist/cli/bin/login.d.ts +6 -0
  11. package/dist/cli/bin/login.d.ts.map +1 -0
  12. package/dist/cli/bin/login.js +10 -0
  13. package/dist/cli/bin/login.js.map +1 -0
  14. package/dist/cli/bin/pull-all.d.ts +6 -0
  15. package/dist/cli/bin/pull-all.d.ts.map +1 -0
  16. package/dist/cli/bin/pull-all.js +10 -0
  17. package/dist/cli/bin/pull-all.js.map +1 -0
  18. package/dist/cli/bin/pull-comments.d.ts +6 -0
  19. package/dist/cli/bin/pull-comments.d.ts.map +1 -0
  20. package/dist/cli/bin/pull-comments.js +10 -0
  21. package/dist/cli/bin/pull-comments.js.map +1 -0
  22. package/dist/cli/bin/pull-content.d.ts +6 -0
  23. package/dist/cli/bin/pull-content.d.ts.map +1 -0
  24. package/dist/cli/bin/pull-content.js +10 -0
  25. package/dist/cli/bin/pull-content.js.map +1 -0
  26. package/dist/cli/bin/pull-media.d.ts +6 -0
  27. package/dist/cli/bin/pull-media.d.ts.map +1 -0
  28. package/dist/cli/bin/pull-media.js +10 -0
  29. package/dist/cli/bin/pull-media.js.map +1 -0
  30. package/dist/cli/bin/push.d.ts +6 -0
  31. package/dist/cli/bin/push.d.ts.map +1 -0
  32. package/dist/cli/bin/push.js +25 -0
  33. package/dist/cli/bin/push.js.map +1 -0
  34. package/dist/cli/bin/status.d.ts +6 -0
  35. package/dist/cli/bin/status.d.ts.map +1 -0
  36. package/dist/cli/bin/status.js +10 -0
  37. package/dist/cli/bin/status.js.map +1 -0
  38. package/dist/cli/bin/watch.d.ts +6 -0
  39. package/dist/cli/bin/watch.d.ts.map +1 -0
  40. package/dist/cli/bin/watch.js +7 -0
  41. package/dist/cli/bin/watch.js.map +1 -0
  42. package/dist/cli/index.js +13 -11
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/lib/cms.d.ts +16 -0
  45. package/dist/lib/cms.d.ts.map +1 -1
  46. package/dist/lib/cms.js +36 -1
  47. package/dist/lib/cms.js.map +1 -1
  48. package/dist/scripts/fetch-leadcms-comments.d.ts.map +1 -1
  49. package/dist/scripts/fetch-leadcms-comments.js +2 -8
  50. package/dist/scripts/fetch-leadcms-comments.js.map +1 -1
  51. package/dist/scripts/fetch-leadcms-content.d.ts.map +1 -1
  52. package/dist/scripts/fetch-leadcms-content.js +0 -8
  53. package/dist/scripts/fetch-leadcms-content.js.map +1 -1
  54. package/dist/scripts/login-leadcms.d.ts +0 -1
  55. package/dist/scripts/login-leadcms.d.ts.map +1 -1
  56. package/dist/scripts/login-leadcms.js +2 -8
  57. package/dist/scripts/login-leadcms.js.map +1 -1
  58. package/dist/scripts/pull-all.js +2 -7
  59. package/dist/scripts/pull-all.js.map +1 -1
  60. package/dist/scripts/pull-comments.d.ts.map +1 -1
  61. package/dist/scripts/pull-comments.js +2 -7
  62. package/dist/scripts/pull-comments.js.map +1 -1
  63. package/dist/scripts/pull-content.d.ts.map +1 -1
  64. package/dist/scripts/pull-content.js +2 -7
  65. package/dist/scripts/pull-content.js.map +1 -1
  66. package/dist/scripts/pull-media.d.ts.map +1 -1
  67. package/dist/scripts/pull-media.js +2 -7
  68. package/dist/scripts/pull-media.js.map +1 -1
  69. package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
  70. package/dist/scripts/push-leadcms-content.js +14 -32
  71. package/dist/scripts/push-leadcms-content.js.map +1 -1
  72. package/dist/scripts/status-leadcms-content.d.ts.map +1 -1
  73. package/dist/scripts/status-leadcms-content.js +2 -4
  74. package/dist/scripts/status-leadcms-content.js.map +1 -1
  75. package/package.json +1 -1
package/README.md CHANGED
@@ -509,6 +509,40 @@ const routes = getAllContentRoutes();
509
509
 
510
510
  **📖 See [Content Management Guide](./docs/CONTENT_MANAGEMENT.md)** for complete API documentation, framework integration examples, and advanced features.
511
511
 
512
+ #### Preview Mode (Zero Configuration)
513
+
514
+ The SDK automatically detects preview slugs and enables draft content access without requiring explicit configuration:
515
+
516
+ ```typescript
517
+ import { getCMSContentBySlugForLocale } from '@leadcms/sdk';
518
+
519
+ // Normal slug - only returns published content
520
+ const published = getCMSContentBySlugForLocale('home', 'en');
521
+ // Returns: null if content has no publishedAt
522
+
523
+ // Preview slug with GUID - automatically enables draft access
524
+ const preview = getCMSContentBySlugForLocale(
525
+ 'home-550e8400-e29b-41d4-a716-446655440000',
526
+ 'en'
527
+ );
528
+ // Returns: draft content even without publishedAt
529
+ ```
530
+
531
+ **How it works:**
532
+ - When a slug contains a GUID pattern (e.g., `home-{userUid}`), the SDK automatically:
533
+ 1. Detects the GUID suffix
534
+ 2. Extracts the base slug and userUid
535
+ 3. Enables draft content access for this request
536
+ 4. Returns user's draft version or falls back to base content
537
+
538
+ **Benefits:**
539
+ - ✅ Zero configuration - works automatically with LeadCMS preview URLs
540
+ - 🔒 Secure - only preview slugs (with valid GUID) can access drafts
541
+ - 🔄 Backward compatible - normal slugs continue to require `publishedAt`
542
+ - 🚀 Developer-friendly - no additional parameters needed
543
+
544
+ **📖 See [Draft Handling Guide](./docs/DRAFT_HANDLING.md)** for more details on preview mode and draft content handling.
545
+
512
546
  ### Media API
513
547
 
514
548
  Media files are automatically synced during content pull:
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Generate Env CLI Entry Point
4
+ */
5
+ import '../../scripts/generate-env-js.js';
6
+ //# sourceMappingURL=generate-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-env.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/generate-env.ts"],"names":[],"mappings":";AACA;;GAEG;AAGH,OAAO,kCAAkC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Generate Env CLI Entry Point
4
+ */
5
+ // Import and run the generate-env script directly
6
+ import '../../scripts/generate-env-js.js';
7
+ //# sourceMappingURL=generate-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-env.js","sourceRoot":"","sources":["../../../src/cli/bin/generate-env.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,kDAAkD;AAClD,OAAO,kCAAkC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Init CLI Entry Point
4
+ */
5
+ import '../../scripts/init-leadcms.js';
6
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/init.ts"],"names":[],"mappings":";AACA;;GAEG;AAGH,OAAO,+BAA+B,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Init CLI Entry Point
4
+ */
5
+ // Import and run the init script directly since it doesn't export a main function
6
+ import '../../scripts/init-leadcms.js';
7
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/bin/init.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,kFAAkF;AAClF,OAAO,+BAA+B,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Login CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/login.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Login CLI Entry Point
4
+ */
5
+ import { loginLeadCMS } from '../../scripts/login-leadcms.js';
6
+ loginLeadCMS().catch((error) => {
7
+ console.error('Error:', error.message);
8
+ process.exit(1);
9
+ });
10
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cli/bin/login.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC7B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull All CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=pull-all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-all.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/pull-all.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull All CLI Entry Point
4
+ */
5
+ import { pullAll } from '../../scripts/pull-all.js';
6
+ pullAll().catch((error) => {
7
+ console.error('Error running LeadCMS pull:', error.message);
8
+ process.exit(1);
9
+ });
10
+ //# sourceMappingURL=pull-all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-all.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-all.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAC7B,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull Comments CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=pull-comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-comments.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/pull-comments.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull Comments CLI Entry Point
4
+ */
5
+ import { pullComments } from '../../scripts/pull-comments.js';
6
+ pullComments().catch((error) => {
7
+ console.error('Error running LeadCMS pull comments:', error.message);
8
+ process.exit(1);
9
+ });
10
+ //# sourceMappingURL=pull-comments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-comments.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-comments.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAClC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull Content CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=pull-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-content.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/pull-content.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull Content CLI Entry Point
4
+ */
5
+ import { pullContent } from '../../scripts/pull-content.js';
6
+ pullContent().catch((error) => {
7
+ console.error('Error running LeadCMS pull content:', error.message);
8
+ process.exit(1);
9
+ });
10
+ //# sourceMappingURL=pull-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-content.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-content.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACjC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull Media CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=pull-media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-media.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/pull-media.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Pull Media CLI Entry Point
4
+ */
5
+ import { pullMedia } from '../../scripts/pull-media.js';
6
+ pullMedia().catch((error) => {
7
+ console.error('Error running LeadCMS pull media:', error.message);
8
+ process.exit(1);
9
+ });
10
+ //# sourceMappingURL=pull-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-media.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-media.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAC/B,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Push CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/push.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Push CLI Entry Point
4
+ */
5
+ import { pushLeadCMSContent } from '../../scripts/push-leadcms-content.js';
6
+ const args = process.argv.slice(2);
7
+ const statusOnly = args.includes('--status');
8
+ const force = args.includes('--force');
9
+ const dryRun = args.includes('--dry-run');
10
+ // Parse target ID or slug
11
+ let targetId;
12
+ let targetSlug;
13
+ const idIndex = args.findIndex(arg => arg === '--id');
14
+ if (idIndex !== -1 && args[idIndex + 1]) {
15
+ targetId = args[idIndex + 1];
16
+ }
17
+ const slugIndex = args.findIndex(arg => arg === '--slug');
18
+ if (slugIndex !== -1 && args[slugIndex + 1]) {
19
+ targetSlug = args[slugIndex + 1];
20
+ }
21
+ pushLeadCMSContent({ statusOnly, force, targetId, targetSlug, dryRun }).catch((error) => {
22
+ console.error('Error running LeadCMS push:', error.message);
23
+ process.exit(1);
24
+ });
25
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/bin/push.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE1C,0BAA0B;AAC1B,IAAI,QAA4B,CAAC;AACjC,IAAI,UAA8B,CAAC;AAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;AACtD,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;IACxC,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;AAC1D,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5C,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAC3F,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Status CLI Entry Point
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/status.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS Status CLI Entry Point
4
+ */
5
+ import { statusLeadCMSContent } from '../../scripts/status-leadcms-content.js';
6
+ statusLeadCMSContent().catch((error) => {
7
+ console.error('Error running LeadCMS status:', error.message);
8
+ process.exit(1);
9
+ });
10
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/bin/status.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS SSE Watcher CLI Entry Point
4
+ */
5
+ import '../../scripts/sse-watcher.js';
6
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/watch.ts"],"names":[],"mappings":";AACA;;GAEG;AAGH,OAAO,8BAA8B,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LeadCMS SSE Watcher CLI Entry Point
4
+ */
5
+ // Import and run the SSE watcher script directly
6
+ import '../../scripts/sse-watcher.js';
7
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/bin/watch.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,iDAAiD;AACjD,OAAO,8BAA8B,CAAC"}
package/dist/cli/index.js CHANGED
@@ -7,10 +7,11 @@ const __filename = fileURLToPath(import.meta.url);
7
7
  const __dirname = path.dirname(__filename);
8
8
  const command = process.argv[2];
9
9
  const commandArgs = process.argv.slice(3);
10
- const scriptDir = path.join(__dirname, '../scripts');
11
10
  function runScript(scriptName, args = []) {
12
- const scriptPath = path.join(scriptDir, scriptName);
13
- const child = spawn('node', [scriptPath, ...args], {
11
+ // Use the new CLI bin files instead of the scripts directory
12
+ const binDir = path.join(__dirname, 'bin');
13
+ const binPath = path.join(binDir, scriptName);
14
+ const child = spawn('node', [binPath, ...args], {
14
15
  stdio: 'inherit',
15
16
  env: process.env
16
17
  });
@@ -25,8 +26,9 @@ function runScriptSequence(scripts, args = []) {
25
26
  return;
26
27
  }
27
28
  const scriptName = scripts[currentIndex];
28
- const scriptPath = path.join(scriptDir, scriptName);
29
- const child = spawn('node', [scriptPath, ...args], {
29
+ const binDir = path.join(__dirname, 'bin');
30
+ const binPath = path.join(binDir, scriptName);
31
+ const child = spawn('node', [binPath, ...args], {
30
32
  stdio: 'inherit',
31
33
  env: process.env
32
34
  });
@@ -73,23 +75,23 @@ switch (command) {
73
75
  runScript('pull-comments.js');
74
76
  break;
75
77
  case 'push':
76
- runScript('push-leadcms-content.js', commandArgs);
78
+ runScript('push.js', commandArgs);
77
79
  break;
78
80
  case 'status':
79
- runScript('status-leadcms-content.js', commandArgs);
81
+ runScript('status.js', commandArgs);
80
82
  break;
81
83
  case 'watch':
82
- runScript('sse-watcher.js');
84
+ runScript('watch.js');
83
85
  break;
84
86
  case 'generate-env':
85
- runScript('generate-env-js.js');
87
+ runScript('generate-env.js');
86
88
  break;
87
89
  case 'init':
88
90
  case 'config':
89
- runScript('init-leadcms.js');
91
+ runScript('init.js');
90
92
  break;
91
93
  case 'login':
92
- runScript('login-leadcms.js');
94
+ runScript('login.js');
93
95
  break;
94
96
  case 'docker':
95
97
  case 'templates':
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/dist/lib/cms.d.ts CHANGED
@@ -67,6 +67,22 @@ export declare function getAllContentSlugsForLocale(locale?: string, contentType
67
67
  export declare function getCMSContentBySlugForLocaleWithDraftSupport(slug: string, locale: string, userUid?: string | null, includeDrafts?: boolean): CMSContent | null;
68
68
  /**
69
69
  * Get content by slug for a specific locale
70
+ *
71
+ * Automatically detects preview slugs (containing userUid/GUID pattern) and enables
72
+ * draft content access without requiring explicit configuration.
73
+ *
74
+ * @param slug - Content slug (e.g., 'home' or 'home-550e8400-e29b-41d4-a716-446655440000')
75
+ * @param locale - Optional locale code
76
+ * @param includeDrafts - Whether to include draft content (default: false)
77
+ * @returns Content object or null if not found/not published
78
+ *
79
+ * @example
80
+ * // Normal slug - requires publishedAt
81
+ * getCMSContentBySlugForLocale('home', 'en')
82
+ *
83
+ * @example
84
+ * // Preview slug - automatically enables draft access
85
+ * getCMSContentBySlugForLocale('home-550e8400-e29b-41d4-a716-446655440000', 'en')
70
86
  */
71
87
  export declare function getCMSContentBySlugForLocale(slug: string, locale?: string, includeDrafts?: boolean): CMSContent | null;
72
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cms.d.ts","sourceRoot":"","sources":["../../src/lib/cms.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5D,MAAM,WAAW,YAAY;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE;AACrD,MAAM,WAAW,YAAY;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAAE;AAerD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAkB3D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAehD;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,GAAG,UAAU;IACrD,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AA6BD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAUhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAUlF;AA8BD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,EAChC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,EAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,MAAM,EAAE,CAUV;AA+ID;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,aAAa,GAAE,OAAe,GAC7B,UAAU,GAAG,IAAI,CA4BnB;AAsBD;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,GAAE,OAAe,GAC7B,UAAU,GAAG,IAAI,CAiBnB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,aAAa,GAAE,OAAe,GAC7B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,EAAE,CAsC3C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,EAChC,aAAa,GAAE,OAAe,EAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAgCjG;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE;AAED,wBAAgB,kBAAkB,CAChC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,EAChC,aAAa,GAAE,OAAe,GAC7B,MAAM,EAAE,CAwBV;AAmDD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,UAAU,GAAG,IAAI,CAiBnG;AAoPD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,CAAC,GAAG,IAAI,CA6BV;AAwCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC1D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAyB/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,CAAC,CAeH;AAgCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAepG;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAEjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAkB1G;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAEvF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,GACxD,OAAO,oBAAoB,EAAE,eAAe,EAAE,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,GACxD,OAAO,oBAAoB,EAAE,eAAe,EAAE,CAEhD"}
1
+ {"version":3,"file":"cms.d.ts","sourceRoot":"","sources":["../../src/lib/cms.ts"],"names":[],"mappings":"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"}
package/dist/lib/cms.js CHANGED
@@ -299,6 +299,22 @@ function getCMSContentBySlugForLocaleFromDir(slug, contentDir, locale) {
299
299
  }
300
300
  /**
301
301
  * Get content by slug for a specific locale
302
+ *
303
+ * Automatically detects preview slugs (containing userUid/GUID pattern) and enables
304
+ * draft content access without requiring explicit configuration.
305
+ *
306
+ * @param slug - Content slug (e.g., 'home' or 'home-550e8400-e29b-41d4-a716-446655440000')
307
+ * @param locale - Optional locale code
308
+ * @param includeDrafts - Whether to include draft content (default: false)
309
+ * @returns Content object or null if not found/not published
310
+ *
311
+ * @example
312
+ * // Normal slug - requires publishedAt
313
+ * getCMSContentBySlugForLocale('home', 'en')
314
+ *
315
+ * @example
316
+ * // Preview slug - automatically enables draft access
317
+ * getCMSContentBySlugForLocale('home-550e8400-e29b-41d4-a716-446655440000', 'en')
302
318
  */
303
319
  export function getCMSContentBySlugForLocale(slug, locale, includeDrafts = false) {
304
320
  const config = getLeadCMSConfig();
@@ -307,6 +323,24 @@ export function getCMSContentBySlugForLocale(slug, locale, includeDrafts = false
307
323
  console.warn('[LeadCMS] No contentDir configured. Please set up your LeadCMS configuration.');
308
324
  return null;
309
325
  }
326
+ // Detect preview slug (contains GUID pattern) and automatically enable draft access
327
+ const userUid = extractUserUidFromSlug(slug);
328
+ if (userUid) {
329
+ // Preview slug detected - extract base slug and use draft support
330
+ // Remove the GUID suffix to get the base slug by finding the last dash before the GUID
331
+ // Use case-insensitive search since GUID might be uppercase in the slug but normalized to lowercase in userUid
332
+ const guidPattern = new RegExp(`-${userUid.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')}$`, 'i');
333
+ const baseSlug = slug.replace(guidPattern, '');
334
+ // Try to get user-specific draft first, then fall back to base content
335
+ // Always enable includeDrafts for preview mode to allow draft content access
336
+ const content = getCMSContentBySlugForLocaleWithDraftSupport(baseSlug, locale || config.defaultLanguage, userUid, true);
337
+ // If content was found, update the slug to match the requested preview slug
338
+ if (content) {
339
+ content.slug = slug;
340
+ }
341
+ return content;
342
+ }
343
+ // Normal slug - apply standard draft filtering
310
344
  const content = getCMSContentBySlugForLocaleFromDir(slug, contentDir, locale);
311
345
  // Filter out drafts by default unless explicitly requested
312
346
  if (content && !includeDrafts && isContentDraft(content)) {
@@ -396,7 +430,8 @@ export function extractUserUidFromSlug(slug) {
396
430
  // GUID pattern: 8-4-4-4-12 hexadecimal characters with a preceding dash
397
431
  const draftSlugPattern = /-([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/i;
398
432
  const match = slug.match(draftSlugPattern);
399
- return match ? match[1] : null;
433
+ // Normalize GUID to lowercase for consistent file system lookups across platforms
434
+ return match ? match[1].toLowerCase() : null;
400
435
  }
401
436
  export function getAllContentSlugs(contentTypes, includeDrafts = false) {
402
437
  const config = getLeadCMSConfig();