@leadcms/sdk 3.3.12 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/cli/bin/content-status-args.d.ts +7 -0
- package/dist/cli/bin/content-status-args.d.ts.map +1 -0
- package/dist/cli/bin/content-status-args.js +27 -0
- package/dist/cli/bin/content-status-args.js.map +1 -0
- package/dist/cli/bin/login.js +1 -1
- package/dist/cli/bin/login.js.map +1 -1
- package/dist/cli/bin/pull-all.js +4 -2
- package/dist/cli/bin/pull-all.js.map +1 -1
- package/dist/cli/bin/pull-comments.js +3 -1
- package/dist/cli/bin/pull-comments.js.map +1 -1
- package/dist/cli/bin/pull-content.js +6 -2
- package/dist/cli/bin/pull-content.js.map +1 -1
- package/dist/cli/bin/pull-email-templates.js +3 -1
- package/dist/cli/bin/pull-email-templates.js.map +1 -1
- package/dist/cli/bin/pull-media.js +3 -1
- package/dist/cli/bin/pull-media.js.map +1 -1
- package/dist/cli/bin/pull-settings.js +2 -0
- package/dist/cli/bin/pull-settings.js.map +1 -1
- package/dist/cli/bin/push-all.js +12 -1
- package/dist/cli/bin/push-all.js.map +1 -1
- package/dist/cli/bin/push-comments.d.ts +6 -0
- package/dist/cli/bin/push-comments.d.ts.map +1 -0
- package/dist/cli/bin/push-comments.js +35 -0
- package/dist/cli/bin/push-comments.js.map +1 -0
- package/dist/cli/bin/push-content.js +7 -4
- package/dist/cli/bin/push-content.js.map +1 -1
- package/dist/cli/bin/push-email-templates.js +3 -1
- package/dist/cli/bin/push-email-templates.js.map +1 -1
- package/dist/cli/bin/push-media.js +2 -0
- package/dist/cli/bin/push-media.js.map +1 -1
- package/dist/cli/bin/push-settings.js +2 -0
- package/dist/cli/bin/push-settings.js.map +1 -1
- package/dist/cli/bin/push.js +5 -3
- package/dist/cli/bin/push.js.map +1 -1
- package/dist/cli/bin/remote-flag.d.ts +17 -0
- package/dist/cli/bin/remote-flag.d.ts.map +1 -0
- package/dist/cli/bin/remote-flag.js +50 -0
- package/dist/cli/bin/remote-flag.js.map +1 -0
- package/dist/cli/bin/remote.d.ts +14 -0
- package/dist/cli/bin/remote.d.ts.map +1 -0
- package/dist/cli/bin/remote.js +291 -0
- package/dist/cli/bin/remote.js.map +1 -0
- package/dist/cli/bin/status-all.js +67 -4
- package/dist/cli/bin/status-all.js.map +1 -1
- package/dist/cli/bin/status-comments.d.ts +6 -0
- package/dist/cli/bin/status-comments.d.ts.map +1 -0
- package/dist/cli/bin/status-comments.js +30 -0
- package/dist/cli/bin/status-comments.js.map +1 -0
- package/dist/cli/bin/status-content.js +6 -2
- package/dist/cli/bin/status-content.js.map +1 -1
- package/dist/cli/bin/status-email-templates.js +3 -1
- package/dist/cli/bin/status-email-templates.js.map +1 -1
- package/dist/cli/bin/status-media.js +2 -0
- package/dist/cli/bin/status-media.js.map +1 -1
- package/dist/cli/bin/status-settings.js +2 -0
- package/dist/cli/bin/status-settings.js.map +1 -1
- package/dist/cli/bin/status.js +5 -2
- package/dist/cli/bin/status.js.map +1 -1
- package/dist/cli/bin/watch.js +6 -3
- package/dist/cli/bin/watch.js.map +1 -1
- package/dist/cli/index.js +65 -10
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/auth.d.ts +1 -1
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +5 -5
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/cms.d.ts +7 -7
- package/dist/lib/cms.d.ts.map +1 -1
- package/dist/lib/cms.js +41 -7
- package/dist/lib/cms.js.map +1 -1
- package/dist/lib/comment-types.d.ts +4 -0
- package/dist/lib/comment-types.d.ts.map +1 -1
- package/dist/lib/config.d.ts +6 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +37 -8
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/content-merge.d.ts.map +1 -1
- package/dist/lib/content-merge.js +102 -19
- package/dist/lib/content-merge.js.map +1 -1
- package/dist/lib/content-transformation.d.ts +5 -0
- package/dist/lib/content-transformation.d.ts.map +1 -1
- package/dist/lib/content-transformation.js +49 -2
- package/dist/lib/content-transformation.js.map +1 -1
- package/dist/lib/data-service.d.ts +47 -1
- package/dist/lib/data-service.d.ts.map +1 -1
- package/dist/lib/data-service.js +143 -0
- package/dist/lib/data-service.js.map +1 -1
- package/dist/lib/remote-context.d.ts +98 -0
- package/dist/lib/remote-context.d.ts.map +1 -0
- package/dist/lib/remote-context.js +297 -0
- package/dist/lib/remote-context.js.map +1 -0
- package/dist/scripts/init-leadcms.d.ts.map +1 -1
- package/dist/scripts/init-leadcms.js +127 -15
- package/dist/scripts/init-leadcms.js.map +1 -1
- package/dist/scripts/leadcms-helpers.d.ts +16 -5
- package/dist/scripts/leadcms-helpers.d.ts.map +1 -1
- package/dist/scripts/leadcms-helpers.js +31 -8
- package/dist/scripts/leadcms-helpers.js.map +1 -1
- package/dist/scripts/login-leadcms.d.ts +4 -1
- package/dist/scripts/login-leadcms.d.ts.map +1 -1
- package/dist/scripts/login-leadcms.js +45 -6
- package/dist/scripts/login-leadcms.js.map +1 -1
- package/dist/scripts/pull-all.d.ts +14 -6
- package/dist/scripts/pull-all.d.ts.map +1 -1
- package/dist/scripts/pull-all.js +86 -33
- package/dist/scripts/pull-all.js.map +1 -1
- package/dist/scripts/pull-comments.d.ts +3 -0
- package/dist/scripts/pull-comments.d.ts.map +1 -1
- package/dist/scripts/pull-comments.js +4 -4
- package/dist/scripts/pull-comments.js.map +1 -1
- package/dist/scripts/pull-content.d.ts +14 -0
- package/dist/scripts/pull-content.d.ts.map +1 -1
- package/dist/scripts/pull-content.js +85 -8
- package/dist/scripts/pull-content.js.map +1 -1
- package/dist/scripts/pull-email-templates.d.ts +3 -0
- package/dist/scripts/pull-email-templates.d.ts.map +1 -1
- package/dist/scripts/pull-email-templates.js +4 -4
- package/dist/scripts/pull-email-templates.js.map +1 -1
- package/dist/scripts/{fetch-leadcms-comments.d.ts → pull-leadcms-comments.d.ts} +10 -4
- package/dist/scripts/pull-leadcms-comments.d.ts.map +1 -0
- package/dist/scripts/{fetch-leadcms-comments.js → pull-leadcms-comments.js} +62 -32
- package/dist/scripts/pull-leadcms-comments.js.map +1 -0
- package/dist/scripts/{fetch-leadcms-content.d.ts → pull-leadcms-content.d.ts} +13 -19
- package/dist/scripts/pull-leadcms-content.d.ts.map +1 -0
- package/dist/scripts/{fetch-leadcms-content.js → pull-leadcms-content.js} +121 -250
- package/dist/scripts/pull-leadcms-content.js.map +1 -0
- package/dist/scripts/{fetch-leadcms-email-templates.d.ts → pull-leadcms-email-templates.d.ts} +5 -4
- package/dist/scripts/pull-leadcms-email-templates.d.ts.map +1 -0
- package/dist/scripts/{fetch-leadcms-email-templates.js → pull-leadcms-email-templates.js} +89 -11
- package/dist/scripts/pull-leadcms-email-templates.js.map +1 -0
- package/dist/scripts/pull-leadcms-media.d.ts +32 -0
- package/dist/scripts/pull-leadcms-media.d.ts.map +1 -0
- package/dist/scripts/pull-leadcms-media.js +229 -0
- package/dist/scripts/pull-leadcms-media.js.map +1 -0
- package/dist/scripts/pull-media.d.ts +4 -1
- package/dist/scripts/pull-media.d.ts.map +1 -1
- package/dist/scripts/pull-media.js +4 -4
- package/dist/scripts/pull-media.js.map +1 -1
- package/dist/scripts/push-comments.d.ts +48 -0
- package/dist/scripts/push-comments.d.ts.map +1 -0
- package/dist/scripts/push-comments.js +433 -0
- package/dist/scripts/push-comments.js.map +1 -0
- package/dist/scripts/push-email-templates.d.ts +6 -1
- package/dist/scripts/push-email-templates.d.ts.map +1 -1
- package/dist/scripts/push-email-templates.js +96 -21
- package/dist/scripts/push-email-templates.js.map +1 -1
- package/dist/scripts/push-leadcms-content.d.ts +24 -8
- package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/push-leadcms-content.js +192 -56
- package/dist/scripts/push-leadcms-content.js.map +1 -1
- package/dist/scripts/sse-watcher.d.ts +9 -8
- package/dist/scripts/sse-watcher.d.ts.map +1 -1
- package/dist/scripts/sse-watcher.js +59 -52
- package/dist/scripts/sse-watcher.js.map +1 -1
- package/leadcms.config.json.sample +12 -1
- package/package.json +2 -3
- package/dist/scripts/fetch-leadcms-comments.d.ts.map +0 -1
- package/dist/scripts/fetch-leadcms-comments.js.map +0 -1
- package/dist/scripts/fetch-leadcms-content.d.ts.map +0 -1
- package/dist/scripts/fetch-leadcms-content.js.map +0 -1
- package/dist/scripts/fetch-leadcms-email-templates.d.ts.map +0 -1
- package/dist/scripts/fetch-leadcms-email-templates.js.map +0 -1
|
@@ -7,8 +7,11 @@ import { pushLeadCMSContent } from '../../scripts/push-leadcms-content.js';
|
|
|
7
7
|
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
8
8
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
9
9
|
import { startSpinner } from '../../lib/spinner.js';
|
|
10
|
+
import { parseContentStatusFilter } from './content-status-args.js';
|
|
11
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
12
|
const args = process.argv.slice(2);
|
|
11
13
|
initVerboseFromArgs(args);
|
|
14
|
+
const remoteContext = parseRemoteFlag(args);
|
|
12
15
|
// Parse target ID or slug
|
|
13
16
|
let targetId;
|
|
14
17
|
let targetSlug;
|
|
@@ -27,9 +30,10 @@ if (args.includes('--preview')) {
|
|
|
27
30
|
}
|
|
28
31
|
// Check for --delete flag
|
|
29
32
|
const showDelete = args.includes('--delete');
|
|
30
|
-
|
|
33
|
+
const statusFilter = parseContentStatusFilter(args);
|
|
34
|
+
await resolveIdentity(remoteContext?.apiKey);
|
|
31
35
|
const spinner = startSpinner('Checking content status…');
|
|
32
|
-
pushLeadCMSContent({ statusOnly: true, targetId, targetSlug, showDetailedPreview, showDelete })
|
|
36
|
+
pushLeadCMSContent({ statusOnly: true, targetId, targetSlug, statusFilter, showDetailedPreview, showDelete, remoteContext })
|
|
33
37
|
.then(() => spinner.stop())
|
|
34
38
|
.catch((error) => {
|
|
35
39
|
spinner.fail('Failed to check content status');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-content.js","sourceRoot":"","sources":["../../../src/cli/bin/status-content.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"status-content.js","sourceRoot":"","sources":["../../../src/cli/bin/status-content.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5C,0BAA0B;AAC1B,IAAI,QAA4B,CAAC;AACjC,IAAI,UAA8B,CAAC;AACnC,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,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,2BAA2B;AAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IAC/B,mBAAmB,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAEpD,MAAM,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAE7C,MAAM,OAAO,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AACzD,kBAAkB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;KACzH,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -7,8 +7,10 @@ import { statusEmailTemplates } from '../../scripts/push-email-templates.js';
|
|
|
7
7
|
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
8
8
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
9
9
|
import { startSpinner } from '../../lib/spinner.js';
|
|
10
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
11
|
const args = process.argv.slice(2);
|
|
11
12
|
initVerboseFromArgs(args);
|
|
13
|
+
const remoteContext = parseRemoteFlag(args);
|
|
12
14
|
// Parse target ID
|
|
13
15
|
let targetId;
|
|
14
16
|
const idIndex = args.findIndex(arg => arg === '--id');
|
|
@@ -21,7 +23,7 @@ const showDetailedPreview = args.includes('--preview');
|
|
|
21
23
|
const showDelete = args.includes('--delete');
|
|
22
24
|
await resolveIdentity();
|
|
23
25
|
const spinner = startSpinner('Checking email template status…');
|
|
24
|
-
statusEmailTemplates({ showDelete, targetId, showDetailedPreview })
|
|
26
|
+
statusEmailTemplates({ showDelete, targetId, showDetailedPreview, remoteContext })
|
|
25
27
|
.then(() => spinner.stop())
|
|
26
28
|
.catch((error) => {
|
|
27
29
|
spinner.fail('Failed to check email template status');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-email-templates.js","sourceRoot":"","sources":["../../../src/cli/bin/status-email-templates.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"status-email-templates.js","sourceRoot":"","sources":["../../../src/cli/bin/status-email-templates.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5C,kBAAkB;AAClB,IAAI,QAA4B,CAAC;AACjC,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,2BAA2B;AAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEvD,0BAA0B;AAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE7C,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAChE,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC;KAC/E,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -7,8 +7,10 @@ import { statusMedia } from '../../scripts/push-media.js';
|
|
|
7
7
|
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
8
8
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
9
9
|
import { startSpinner } from '../../lib/spinner.js';
|
|
10
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
11
|
const args = process.argv.slice(2);
|
|
11
12
|
initVerboseFromArgs(args);
|
|
13
|
+
parseRemoteFlag(args);
|
|
12
14
|
// Parse scope UID
|
|
13
15
|
let scopeUid;
|
|
14
16
|
const scopeIndex = args.findIndex(arg => arg === '--scope' || arg === '-s');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-media.js","sourceRoot":"","sources":["../../../src/cli/bin/status-media.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"status-media.js","sourceRoot":"","sources":["../../../src/cli/bin/status-media.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,eAAe,CAAC,IAAI,CAAC,CAAC;AAEtB,kBAAkB;AAClB,IAAI,QAA4B,CAAC;AACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;AAC5E,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;IAC9C,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE7C,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AACvD,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;KAClC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -7,8 +7,10 @@ import { statusSettings } from '../../scripts/push-settings.js';
|
|
|
7
7
|
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
8
8
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
9
9
|
import { startSpinner } from '../../lib/spinner.js';
|
|
10
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
11
|
const args = process.argv.slice(2);
|
|
11
12
|
initVerboseFromArgs(args);
|
|
13
|
+
parseRemoteFlag(args);
|
|
12
14
|
// Parse --name flag
|
|
13
15
|
let targetName;
|
|
14
16
|
const nameIndex = args.findIndex(arg => arg === '--name');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-settings.js","sourceRoot":"","sources":["../../../src/cli/bin/status-settings.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"status-settings.js","sourceRoot":"","sources":["../../../src/cli/bin/status-settings.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,eAAe,CAAC,IAAI,CAAC,CAAC;AAEtB,oBAAoB;AACpB,IAAI,UAA8B,CAAC;AACnC,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,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAC1D,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;KAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/cli/bin/status.js
CHANGED
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
import { statusLeadCMSContent } from '../../scripts/status-leadcms-content.js';
|
|
6
6
|
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
7
7
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
9
|
+
const args = process.argv.slice(2);
|
|
10
|
+
initVerboseFromArgs(args);
|
|
11
|
+
const remoteContext = parseRemoteFlag(args);
|
|
12
|
+
await resolveIdentity(remoteContext?.apiKey);
|
|
10
13
|
statusLeadCMSContent().catch((error) => {
|
|
11
14
|
console.error('Error running LeadCMS status:', error.message);
|
|
12
15
|
process.exit(1);
|
|
@@ -1 +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;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
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;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,MAAM,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC7C,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"}
|
package/dist/cli/bin/watch.js
CHANGED
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
import { startSSEWatcher } from '../../scripts/sse-watcher.js';
|
|
6
6
|
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
7
7
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
9
|
+
const args = process.argv.slice(2);
|
|
10
|
+
initVerboseFromArgs(args);
|
|
11
|
+
const remoteContext = parseRemoteFlag(args);
|
|
12
|
+
await resolveIdentity(remoteContext?.apiKey);
|
|
13
|
+
startSSEWatcher(remoteContext);
|
|
11
14
|
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/bin/watch.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/bin/watch.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,MAAM,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC7C,eAAe,CAAC,aAAa,CAAC,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -62,7 +62,6 @@ switch (command) {
|
|
|
62
62
|
process.exit(0);
|
|
63
63
|
break;
|
|
64
64
|
case 'pull':
|
|
65
|
-
case 'fetch': // Alias for backward compatibility
|
|
66
65
|
runScript('pull-all.js', commandArgs);
|
|
67
66
|
break;
|
|
68
67
|
case 'pull-content':
|
|
@@ -89,6 +88,9 @@ switch (command) {
|
|
|
89
88
|
case 'push-media':
|
|
90
89
|
runScript('push-media.js', commandArgs);
|
|
91
90
|
break;
|
|
91
|
+
case 'push-comments':
|
|
92
|
+
runScript('push-comments.js', commandArgs);
|
|
93
|
+
break;
|
|
92
94
|
case 'push-email-templates':
|
|
93
95
|
runScript('push-email-templates.js', commandArgs);
|
|
94
96
|
break;
|
|
@@ -104,6 +106,9 @@ switch (command) {
|
|
|
104
106
|
case 'status-media':
|
|
105
107
|
runScript('status-media.js', commandArgs);
|
|
106
108
|
break;
|
|
109
|
+
case 'status-comments':
|
|
110
|
+
runScript('status-comments.js', commandArgs);
|
|
111
|
+
break;
|
|
107
112
|
case 'status-email-templates':
|
|
108
113
|
runScript('status-email-templates.js', commandArgs);
|
|
109
114
|
break;
|
|
@@ -121,7 +126,10 @@ switch (command) {
|
|
|
121
126
|
runScript('init.js');
|
|
122
127
|
break;
|
|
123
128
|
case 'login':
|
|
124
|
-
runScript('login.js');
|
|
129
|
+
runScript('login.js', commandArgs);
|
|
130
|
+
break;
|
|
131
|
+
case 'remote':
|
|
132
|
+
runScript('remote.js', commandArgs);
|
|
125
133
|
break;
|
|
126
134
|
case 'docker':
|
|
127
135
|
case 'templates':
|
|
@@ -135,8 +143,17 @@ Usage:
|
|
|
135
143
|
leadcms version - Show SDK version
|
|
136
144
|
leadcms init - Initialize LeadCMS configuration
|
|
137
145
|
leadcms login - Authenticate and save API token to .env file
|
|
146
|
+
leadcms remote - Manage named remotes (list/add/remove/show/set-default/reset)
|
|
138
147
|
leadcms docker - Generate Docker deployment templates
|
|
139
148
|
|
|
149
|
+
Remote commands:
|
|
150
|
+
leadcms remote list - List configured remotes
|
|
151
|
+
leadcms remote add <name> <url> - Add a remote
|
|
152
|
+
leadcms remote remove <name> - Remove a remote
|
|
153
|
+
leadcms remote show <name> - Show remote details + state
|
|
154
|
+
leadcms remote set-default <name> - Set default remote
|
|
155
|
+
leadcms remote reset <name> - Clear sync state for one remote
|
|
156
|
+
|
|
140
157
|
Pull commands:
|
|
141
158
|
leadcms pull [options] - Pull all content, media, and comments from LeadCMS
|
|
142
159
|
--id <content-id> - Pull specific content by ID (force update)
|
|
@@ -146,6 +163,7 @@ Usage:
|
|
|
146
163
|
leadcms pull-content [options] - Pull only content from LeadCMS
|
|
147
164
|
--id <content-id> - Pull specific content by ID
|
|
148
165
|
--slug <slug> - Pull specific content by slug
|
|
166
|
+
--status <statuses> - Pull only files with matching status (e.g. conflict,new,modified)
|
|
149
167
|
--reset - Delete local content files and sync token, then pull fresh
|
|
150
168
|
--force, -f - Skip three-way merge, always overwrite local with remote
|
|
151
169
|
leadcms pull-media [options] - Pull only media files from LeadCMS
|
|
@@ -158,7 +176,6 @@ Usage:
|
|
|
158
176
|
leadcms pull-settings [options] - Pull CMS settings locally
|
|
159
177
|
--name <key> - Pull a specific setting by key name
|
|
160
178
|
--reset - Delete local settings directory, then pull fresh
|
|
161
|
-
leadcms fetch - Alias for 'pull' (backward compatibility)
|
|
162
179
|
|
|
163
180
|
Push commands:
|
|
164
181
|
leadcms push [options] - Push all local changes (content + media) to LeadCMS
|
|
@@ -168,11 +185,17 @@ Usage:
|
|
|
168
185
|
--delete - Delete remote content/media not present locally
|
|
169
186
|
--id <content-id> - Target specific content by ID
|
|
170
187
|
--slug <slug> - Target specific content by slug
|
|
188
|
+
--status <statuses> - Only include matching statuses (new, modified, renamed, type-change, conflict, deleted)
|
|
171
189
|
leadcms push-media [options] - Push only media files to LeadCMS
|
|
172
190
|
--force - Skip confirmation prompt
|
|
173
191
|
--dry-run - Show what would be changed without making changes
|
|
174
192
|
--delete - Delete remote media files not present locally
|
|
175
193
|
--scope <scopeUid> - Filter by specific scope UID (e.g., "blog", "pages/about")
|
|
194
|
+
leadcms push-comments [options] - Push local comment changes to LeadCMS
|
|
195
|
+
--force - Override remote comment changes when possible
|
|
196
|
+
--dry-run - Show what would be pushed without making changes
|
|
197
|
+
--delete - Delete remote comments not present locally
|
|
198
|
+
--id <comment-id> - Push only a specific comment by ID
|
|
176
199
|
leadcms push-email-templates [options] - Push email templates to LeadCMS
|
|
177
200
|
--force - Override remote changes (skip conflict check)
|
|
178
201
|
--dry-run - Show API calls without executing them (preview mode)
|
|
@@ -192,9 +215,14 @@ Usage:
|
|
|
192
215
|
--delete - Show content deletion operations
|
|
193
216
|
--id <content-id> - Show detailed status for specific content by ID
|
|
194
217
|
--slug <slug> - Show detailed status for specific content by slug
|
|
218
|
+
--status <statuses> - Only show matching statuses (new, modified, renamed, type-change, conflict, deleted)
|
|
195
219
|
leadcms status-media [options] - Show media file status only
|
|
196
220
|
--delete - Show media deletion operations
|
|
197
221
|
--scope <scopeUid> - Filter by specific scope UID
|
|
222
|
+
leadcms status-comments [options] - Show comment sync status only
|
|
223
|
+
--preview - Show detailed comment field/body previews
|
|
224
|
+
--delete - Show remote comments that would be deleted
|
|
225
|
+
--id <comment-id> - Show status for a specific comment by ID
|
|
198
226
|
leadcms status-email-templates [options] - Show email template status only
|
|
199
227
|
--preview - Show detailed metadata for each change
|
|
200
228
|
--delete - Show email template deletion operations
|
|
@@ -209,26 +237,42 @@ Usage:
|
|
|
209
237
|
Global options:
|
|
210
238
|
--verbose, -V - Show detailed debug output (API calls, sync tokens, etc.)
|
|
211
239
|
Can also be enabled with LEADCMS_VERBOSE=true env var
|
|
240
|
+
--remote, -r <name> - Target a specific named remote (multi-instance support)
|
|
241
|
+
In multi-remote mode: defaults to defaultRemote when omitted
|
|
242
|
+
In single-remote mode: uses configured url/apiKey
|
|
243
|
+
See 'leadcms remote list' for available remotes
|
|
212
244
|
|
|
213
245
|
Getting Started:
|
|
214
246
|
1. Initialize configuration:
|
|
215
247
|
leadcms init - Interactive setup wizard
|
|
216
248
|
|
|
217
|
-
2.
|
|
218
|
-
leadcms
|
|
249
|
+
2. Configure remotes (multi-remote):
|
|
250
|
+
leadcms remote add production https://prod.example.com
|
|
251
|
+
leadcms remote add develop https://dev.example.com
|
|
252
|
+
leadcms remote set-default production
|
|
253
|
+
|
|
254
|
+
3. Set API keys (recommended):
|
|
255
|
+
export LEADCMS_REMOTE_PRODUCTION_API_KEY=prod-token
|
|
256
|
+
export LEADCMS_REMOTE_DEVELOP_API_KEY=dev-token
|
|
257
|
+
# Optional fallback for default remote only:
|
|
258
|
+
export LEADCMS_API_KEY=default-token
|
|
219
259
|
|
|
220
|
-
|
|
221
|
-
leadcms pull
|
|
222
|
-
leadcms
|
|
223
|
-
leadcms push
|
|
260
|
+
4. Start syncing:
|
|
261
|
+
leadcms pull - Uses default remote
|
|
262
|
+
leadcms pull -r production - Pull from production
|
|
263
|
+
leadcms push -r develop --force - Push to develop
|
|
264
|
+
leadcms status -r production - Show status vs production
|
|
224
265
|
|
|
225
266
|
Configuration Files:
|
|
226
267
|
.env (recommended, created by 'leadcms login'):
|
|
227
268
|
LEADCMS_URL=https://your-instance.leadcms.ai
|
|
228
269
|
LEADCMS_API_KEY=your-token-here
|
|
229
270
|
LEADCMS_DEFAULT_LANGUAGE=en
|
|
271
|
+
LEADCMS_REMOTE_PRODUCTION_API_KEY=prod-token
|
|
272
|
+
LEADCMS_REMOTE_DEVELOP_API_KEY=dev-token
|
|
273
|
+
LEADCMS_REMOTE_PRODUCTION_URL=https://prod.example.com
|
|
230
274
|
|
|
231
|
-
leadcms.config.json (
|
|
275
|
+
leadcms.config.json (single-remote, backward compatible):
|
|
232
276
|
{
|
|
233
277
|
"url": "https://your-instance.leadcms.ai",
|
|
234
278
|
"defaultLanguage": "en",
|
|
@@ -238,8 +282,19 @@ Configuration Files:
|
|
|
238
282
|
"emailTemplatesDir": ".leadcms/email-templates"
|
|
239
283
|
}
|
|
240
284
|
|
|
285
|
+
leadcms.config.json (multi-remote):
|
|
286
|
+
{
|
|
287
|
+
"defaultLanguage": "en",
|
|
288
|
+
"remotes": {
|
|
289
|
+
"production": { "url": "https://prod.example.com" },
|
|
290
|
+
"develop": { "url": "https://dev.example.com" }
|
|
291
|
+
},
|
|
292
|
+
"defaultRemote": "production"
|
|
293
|
+
}
|
|
294
|
+
|
|
241
295
|
Note: Environment variables take precedence over config file.
|
|
242
296
|
Next.js users can use NEXT_PUBLIC_LEADCMS_URL for client-side access.
|
|
297
|
+
For remote API keys, use LEADCMS_REMOTE_{NAME}_API_KEY (no NEXT_PUBLIC_).
|
|
243
298
|
`);
|
|
244
299
|
break;
|
|
245
300
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -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/index.js
CHANGED
|
@@ -41,7 +41,6 @@ export { threeWayMerge, threeWayMergeJson, isLocallyModified } from './lib/conte
|
|
|
41
41
|
// - npx leadcms login - Authenticate with LeadCMS (device auth or manual token)
|
|
42
42
|
// - npx leadcms pull - Pull content and comments from LeadCMS
|
|
43
43
|
// - npx leadcms pull-comments - Pull only comments from LeadCMS
|
|
44
|
-
// - npx leadcms fetch - Alias for pull (backward compatibility)
|
|
45
44
|
// - npx leadcms watch - Watch for real-time updates
|
|
46
45
|
// - npx leadcms generate-env - Generate environment file
|
|
47
46
|
//
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAY1C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,sDAAsD;AACtD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM7F,sDAAsD;AACtD,EAAE;AACF,gDAAgD;AAChD,yDAAyD;AACzD,0DAA0D;AAC1D,wEAAwE;AACxE,iEAAiE;AACjE,sDAAsD;AACtD,EAAE;AACF,gBAAgB;AAChB,4DAA4D;AAC5D,uEAAuE;AACvE,kEAAkE;AAClE,wFAAwF;AACxF,iGAAiG;AACjG,sFAAsF;AACtF,EAAE;AACF,6FAA6F;AAC7F,4FAA4F;AAC5F,2DAA2D;AAC3D,EAAE;AACF,oBAAoB;AACpB,0DAA0D;AAC1D,EAAE;AACF,yBAAyB;AACzB,4CAA4C;AAC5C,sCAAsC;AACtC,kDAAkD;AAClD,EAAE;AACF,iBAAiB;AACjB,qFAAqF;AACrF,oFAAoF;AACpF,mEAAmE;AACnE,gEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAY1C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,sDAAsD;AACtD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM7F,sDAAsD;AACtD,EAAE;AACF,gDAAgD;AAChD,yDAAyD;AACzD,0DAA0D;AAC1D,wEAAwE;AACxE,iEAAiE;AACjE,sDAAsD;AACtD,EAAE;AACF,gBAAgB;AAChB,4DAA4D;AAC5D,uEAAuE;AACvE,kEAAkE;AAClE,wFAAwF;AACxF,iGAAiG;AACjG,sFAAsF;AACtF,EAAE;AACF,6FAA6F;AAC7F,4FAA4F;AAC5F,2DAA2D;AAC3D,EAAE;AACF,oBAAoB;AACpB,0DAA0D;AAC1D,EAAE;AACF,yBAAyB;AACzB,4CAA4C;AAC5C,sCAAsC;AACtC,kDAAkD;AAClD,EAAE;AACF,iBAAiB;AACjB,qFAAqF;AACrF,oFAAoF;AACpF,mEAAmE;AACnE,gEAAgE;AAChE,wDAAwD;AACxD,yDAAyD;AACzD,EAAE;AACF,mFAAmF;AACnF,qFAAqF"}
|
package/dist/lib/auth.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export declare function verifyToken(url: string, token: string): Promise<UserDet
|
|
|
36
36
|
/**
|
|
37
37
|
* Save API token to .env file
|
|
38
38
|
*/
|
|
39
|
-
export declare function saveTokenToEnv(token: string): void;
|
|
39
|
+
export declare function saveTokenToEnv(token: string, envKey?: string): void;
|
|
40
40
|
/**
|
|
41
41
|
* Device authentication flow
|
|
42
42
|
*/
|
package/dist/lib/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+BD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAiB9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAGlE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAQrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+BD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAiB9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAGlE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAQrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAoB,GAAG,IAAI,CA0B9E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiEjE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC,CA6BrB"}
|
package/dist/lib/auth.js
CHANGED
|
@@ -64,19 +64,19 @@ export async function verifyToken(url, token) {
|
|
|
64
64
|
/**
|
|
65
65
|
* Save API token to .env file
|
|
66
66
|
*/
|
|
67
|
-
export function saveTokenToEnv(token) {
|
|
67
|
+
export function saveTokenToEnv(token, envKey = 'LEADCMS_API_KEY') {
|
|
68
68
|
const envPath = path.join(process.cwd(), '.env');
|
|
69
69
|
let envContent = '';
|
|
70
70
|
// Read existing .env file if it exists
|
|
71
71
|
if (fs.existsSync(envPath)) {
|
|
72
72
|
envContent = fs.readFileSync(envPath, 'utf-8');
|
|
73
73
|
}
|
|
74
|
-
// Check if
|
|
74
|
+
// Check if target key already exists
|
|
75
75
|
const lines = envContent.split('\n');
|
|
76
|
-
const apiKeyIndex = lines.findIndex((line) => line.startsWith(
|
|
76
|
+
const apiKeyIndex = lines.findIndex((line) => line.startsWith(`${envKey}=`));
|
|
77
77
|
if (apiKeyIndex !== -1) {
|
|
78
78
|
// Update existing key
|
|
79
|
-
lines[apiKeyIndex] =
|
|
79
|
+
lines[apiKeyIndex] = `${envKey}=${token}`;
|
|
80
80
|
envContent = lines.join('\n');
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
@@ -84,7 +84,7 @@ export function saveTokenToEnv(token) {
|
|
|
84
84
|
if (envContent && !envContent.endsWith('\n')) {
|
|
85
85
|
envContent += '\n';
|
|
86
86
|
}
|
|
87
|
-
envContent +=
|
|
87
|
+
envContent += `${envKey}=${token}\n`;
|
|
88
88
|
}
|
|
89
89
|
fs.writeFileSync(envPath, envContent, 'utf-8');
|
|
90
90
|
}
|
package/dist/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AA+C7B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAkB,GAAG,GAAG,cAAc,EAAE;YACtE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oDAAoD;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,EAAU;IACpD,mEAAmE;IACnE,MAAM,cAAc,GAAG,CAAC,CAAS,EAAY,EAAE;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,KAAa;IAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAiB,GAAG,GAAG,eAAe,EAAE;QACtE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;KACF,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/cms.d.ts
CHANGED
|
@@ -239,13 +239,13 @@ export declare function loadContentConfigStrict<T>(configName: string, locale?:
|
|
|
239
239
|
*/
|
|
240
240
|
export declare function getComments(commentableType: string, commentableId: number, language?: string): any[];
|
|
241
241
|
/**
|
|
242
|
-
* Get comments for a specific content item by content ID
|
|
242
|
+
* Get comments for a specific content item by content ID or slug
|
|
243
243
|
* This is a convenience function that calls getComments with commentableType="Content"
|
|
244
|
-
* @param
|
|
244
|
+
* @param contentIdentifier - The ID or slug of the content
|
|
245
245
|
* @param language - Language code (optional, uses default language if not provided)
|
|
246
246
|
* @returns Array of comments for the content, or empty array if none found
|
|
247
247
|
*/
|
|
248
|
-
export declare function getCommentsForContent(
|
|
248
|
+
export declare function getCommentsForContent(contentIdentifier: number | string, language?: string): any[];
|
|
249
249
|
/**
|
|
250
250
|
* Get comments for a specific commentable entity with strict error handling
|
|
251
251
|
* Unlike getComments, this function throws descriptive errors instead of returning empty array
|
|
@@ -259,12 +259,12 @@ export declare function getCommentsStrict(commentableType: string, commentableId
|
|
|
259
259
|
/**
|
|
260
260
|
* Get comments for a specific content item with strict error handling
|
|
261
261
|
* This is a convenience function that calls getCommentsStrict with commentableType="Content"
|
|
262
|
-
* @param
|
|
262
|
+
* @param contentIdentifier - The ID or slug of the content
|
|
263
263
|
* @param language - Language code (optional, uses default language if not provided)
|
|
264
264
|
* @returns Array of comments for the content
|
|
265
265
|
* @throws {Error} If comments file cannot be read or parsed
|
|
266
266
|
*/
|
|
267
|
-
export declare function getCommentsForContentStrict(
|
|
267
|
+
export declare function getCommentsForContentStrict(contentIdentifier: number | string, language?: string): any[];
|
|
268
268
|
/**
|
|
269
269
|
* Get comments as a tree structure with parent-child relationships
|
|
270
270
|
* @param commentableType - The type of entity (e.g., "Content", "Contact")
|
|
@@ -276,11 +276,11 @@ export declare function getCommentsForContentStrict(contentId: number, language?
|
|
|
276
276
|
export declare function getCommentsTree(commentableType: string, commentableId: number, language?: string, options?: import('./comment-utils.js').CommentTreeOptions): import('./comment-utils.js').CommentTreeNode[];
|
|
277
277
|
/**
|
|
278
278
|
* Get comments tree for content with convenience wrapper
|
|
279
|
-
* @param
|
|
279
|
+
* @param contentIdentifier - The ID or slug of the content
|
|
280
280
|
* @param language - Language code (optional, uses default language if not provided)
|
|
281
281
|
* @param options - Tree building options (sorting, filtering, etc.)
|
|
282
282
|
* @returns Array of root-level comment nodes with nested children
|
|
283
283
|
*/
|
|
284
|
-
export declare function getCommentsTreeForContent(
|
|
284
|
+
export declare function getCommentsTreeForContent(contentIdentifier: number | string, language?: string, options?: import('./comment-utils.js').CommentTreeOptions): import('./comment-utils.js').CommentTreeNode[];
|
|
285
285
|
export { isPreviewMode } from "./config.js";
|
|
286
286
|
//# sourceMappingURL=cms.d.ts.map
|
package/dist/lib/cms.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms.d.ts","sourceRoot":"","sources":["../../src/lib/cms.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -1028,14 +1028,40 @@ export function getComments(commentableType, commentableId, language) {
|
|
|
1028
1028
|
return [];
|
|
1029
1029
|
}
|
|
1030
1030
|
}
|
|
1031
|
+
function resolveContentCommentableId(contentIdentifier, language, strict = false) {
|
|
1032
|
+
if (typeof contentIdentifier === "number") {
|
|
1033
|
+
return contentIdentifier;
|
|
1034
|
+
}
|
|
1035
|
+
const content = language
|
|
1036
|
+
? getCMSContentBySlugForLocale(contentIdentifier, language)
|
|
1037
|
+
: getCMSContentBySlug(contentIdentifier);
|
|
1038
|
+
if (!content) {
|
|
1039
|
+
if (strict) {
|
|
1040
|
+
throw new Error(`[LeadCMS] Content not found for slug "${contentIdentifier}" (language: ${language || getLeadCMSConfig().defaultLanguage})`);
|
|
1041
|
+
}
|
|
1042
|
+
return null;
|
|
1043
|
+
}
|
|
1044
|
+
const contentId = typeof content.id === "number" ? content.id : Number(content.id);
|
|
1045
|
+
if (!Number.isFinite(contentId)) {
|
|
1046
|
+
if (strict) {
|
|
1047
|
+
throw new Error(`[LeadCMS] Content found for slug "${contentIdentifier}" does not have a numeric id`);
|
|
1048
|
+
}
|
|
1049
|
+
return null;
|
|
1050
|
+
}
|
|
1051
|
+
return contentId;
|
|
1052
|
+
}
|
|
1031
1053
|
/**
|
|
1032
|
-
* Get comments for a specific content item by content ID
|
|
1054
|
+
* Get comments for a specific content item by content ID or slug
|
|
1033
1055
|
* This is a convenience function that calls getComments with commentableType="Content"
|
|
1034
|
-
* @param
|
|
1056
|
+
* @param contentIdentifier - The ID or slug of the content
|
|
1035
1057
|
* @param language - Language code (optional, uses default language if not provided)
|
|
1036
1058
|
* @returns Array of comments for the content, or empty array if none found
|
|
1037
1059
|
*/
|
|
1038
|
-
export function getCommentsForContent(
|
|
1060
|
+
export function getCommentsForContent(contentIdentifier, language) {
|
|
1061
|
+
const contentId = resolveContentCommentableId(contentIdentifier, language);
|
|
1062
|
+
if (contentId === null) {
|
|
1063
|
+
return [];
|
|
1064
|
+
}
|
|
1039
1065
|
return getComments("Content", contentId, language);
|
|
1040
1066
|
}
|
|
1041
1067
|
/**
|
|
@@ -1064,12 +1090,16 @@ export function getCommentsStrict(commentableType, commentableId, language) {
|
|
|
1064
1090
|
/**
|
|
1065
1091
|
* Get comments for a specific content item with strict error handling
|
|
1066
1092
|
* This is a convenience function that calls getCommentsStrict with commentableType="Content"
|
|
1067
|
-
* @param
|
|
1093
|
+
* @param contentIdentifier - The ID or slug of the content
|
|
1068
1094
|
* @param language - Language code (optional, uses default language if not provided)
|
|
1069
1095
|
* @returns Array of comments for the content
|
|
1070
1096
|
* @throws {Error} If comments file cannot be read or parsed
|
|
1071
1097
|
*/
|
|
1072
|
-
export function getCommentsForContentStrict(
|
|
1098
|
+
export function getCommentsForContentStrict(contentIdentifier, language) {
|
|
1099
|
+
const contentId = resolveContentCommentableId(contentIdentifier, language, true);
|
|
1100
|
+
if (contentId === null) {
|
|
1101
|
+
throw new Error("[LeadCMS] Failed to resolve content identifier for comments lookup");
|
|
1102
|
+
}
|
|
1073
1103
|
return getCommentsStrict("Content", contentId, language);
|
|
1074
1104
|
}
|
|
1075
1105
|
/**
|
|
@@ -1087,12 +1117,16 @@ export function getCommentsTree(commentableType, commentableId, language, option
|
|
|
1087
1117
|
}
|
|
1088
1118
|
/**
|
|
1089
1119
|
* Get comments tree for content with convenience wrapper
|
|
1090
|
-
* @param
|
|
1120
|
+
* @param contentIdentifier - The ID or slug of the content
|
|
1091
1121
|
* @param language - Language code (optional, uses default language if not provided)
|
|
1092
1122
|
* @param options - Tree building options (sorting, filtering, etc.)
|
|
1093
1123
|
* @returns Array of root-level comment nodes with nested children
|
|
1094
1124
|
*/
|
|
1095
|
-
export function getCommentsTreeForContent(
|
|
1125
|
+
export function getCommentsTreeForContent(contentIdentifier, language, options) {
|
|
1126
|
+
const contentId = resolveContentCommentableId(contentIdentifier, language);
|
|
1127
|
+
if (contentId === null) {
|
|
1128
|
+
return [];
|
|
1129
|
+
}
|
|
1096
1130
|
return getCommentsTree("Content", contentId, language, options);
|
|
1097
1131
|
}
|
|
1098
1132
|
// Export preview mode detection function
|