@leadcms/sdk 3.5.4 → 3.5.8
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/dist/cli/bin/content-status-args.js +0 -0
- package/dist/cli/bin/generate-env.js +0 -0
- package/dist/cli/bin/init.js +0 -0
- package/dist/cli/bin/login.js +0 -0
- package/dist/cli/bin/pull-all.js +0 -0
- package/dist/cli/bin/pull-comments.js +0 -0
- package/dist/cli/bin/pull-content.js +0 -0
- package/dist/cli/bin/pull-email-templates.js +0 -0
- package/dist/cli/bin/pull-media.js +0 -0
- package/dist/cli/bin/pull-segments.d.ts +6 -0
- package/dist/cli/bin/pull-segments.d.ts.map +1 -0
- package/dist/cli/bin/pull-segments.js +26 -0
- package/dist/cli/bin/pull-segments.js.map +1 -0
- package/dist/cli/bin/pull-sequences.d.ts +6 -0
- package/dist/cli/bin/pull-sequences.d.ts.map +1 -0
- package/dist/cli/bin/pull-sequences.js +26 -0
- package/dist/cli/bin/pull-sequences.js.map +1 -0
- package/dist/cli/bin/pull-settings.js +0 -0
- package/dist/cli/bin/push-all.js +18 -0
- package/dist/cli/bin/push-all.js.map +1 -1
- package/dist/cli/bin/push-comments.js +0 -0
- package/dist/cli/bin/push-content.js +0 -0
- package/dist/cli/bin/push-email-templates.js +0 -0
- package/dist/cli/bin/push-media.js +0 -0
- package/dist/cli/bin/push-segments.d.ts +6 -0
- package/dist/cli/bin/push-segments.d.ts.map +1 -0
- package/dist/cli/bin/push-segments.js +30 -0
- package/dist/cli/bin/push-segments.js.map +1 -0
- package/dist/cli/bin/push-sequences.d.ts +6 -0
- package/dist/cli/bin/push-sequences.d.ts.map +1 -0
- package/dist/cli/bin/push-sequences.js +30 -0
- package/dist/cli/bin/push-sequences.js.map +1 -0
- package/dist/cli/bin/push-settings.js +0 -0
- package/dist/cli/bin/push.js +0 -0
- package/dist/cli/bin/remote-flag.js +0 -0
- package/dist/cli/bin/remote.js +0 -0
- package/dist/cli/bin/status-all.js +134 -6
- package/dist/cli/bin/status-all.js.map +1 -1
- package/dist/cli/bin/status-comments.js +0 -0
- package/dist/cli/bin/status-content.js +0 -0
- package/dist/cli/bin/status-email-templates.js +0 -0
- package/dist/cli/bin/status-media.js +0 -0
- package/dist/cli/bin/status-segments.d.ts +6 -0
- package/dist/cli/bin/status-segments.d.ts.map +1 -0
- package/dist/cli/bin/status-segments.js +25 -0
- package/dist/cli/bin/status-segments.js.map +1 -0
- package/dist/cli/bin/status-sequences.d.ts +6 -0
- package/dist/cli/bin/status-sequences.d.ts.map +1 -0
- package/dist/cli/bin/status-sequences.js +25 -0
- package/dist/cli/bin/status-sequences.js.map +1 -0
- package/dist/cli/bin/status-settings.js +0 -0
- package/dist/cli/bin/status.js +0 -0
- package/dist/cli/bin/watch.js +0 -0
- package/dist/cli/index.js +18 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/automation-types.d.ts +235 -0
- package/dist/lib/automation-types.d.ts.map +1 -0
- package/dist/lib/automation-types.js +150 -0
- package/dist/lib/automation-types.js.map +1 -0
- package/dist/lib/cms-config-types.d.ts +8 -0
- package/dist/lib/cms-config-types.d.ts.map +1 -1
- package/dist/lib/cms-config-types.js +12 -0
- package/dist/lib/cms-config-types.js.map +1 -1
- package/dist/lib/cms.d.ts.map +1 -1
- package/dist/lib/cms.js +2 -0
- package/dist/lib/cms.js.map +1 -1
- package/dist/lib/config.d.ts +4 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +10 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/data-service.d.ts +38 -1
- package/dist/lib/data-service.d.ts.map +1 -1
- package/dist/lib/data-service.js +312 -0
- package/dist/lib/data-service.js.map +1 -1
- package/dist/lib/email-template-transformation.d.ts.map +1 -1
- package/dist/lib/email-template-transformation.js +1 -0
- package/dist/lib/email-template-transformation.js.map +1 -1
- package/dist/lib/remote-context.d.ts +19 -1
- package/dist/lib/remote-context.d.ts.map +1 -1
- package/dist/lib/remote-context.js +99 -1
- package/dist/lib/remote-context.js.map +1 -1
- package/dist/lib/settings-types.d.ts +53 -1
- package/dist/lib/settings-types.d.ts.map +1 -1
- package/dist/lib/settings-types.js +115 -1
- package/dist/lib/settings-types.js.map +1 -1
- package/dist/lib/slugify.d.ts +9 -0
- package/dist/lib/slugify.d.ts.map +1 -0
- package/dist/lib/slugify.js +12 -0
- package/dist/lib/slugify.js.map +1 -0
- package/dist/scripts/leadcms-helpers.d.ts +2 -0
- package/dist/scripts/leadcms-helpers.d.ts.map +1 -1
- package/dist/scripts/leadcms-helpers.js +2 -0
- package/dist/scripts/leadcms-helpers.js.map +1 -1
- package/dist/scripts/pull-all.d.ts +9 -1
- package/dist/scripts/pull-all.d.ts.map +1 -1
- package/dist/scripts/pull-all.js +59 -5
- package/dist/scripts/pull-all.js.map +1 -1
- package/dist/scripts/pull-leadcms-comments.d.ts.map +1 -1
- package/dist/scripts/pull-leadcms-comments.js +9 -1
- package/dist/scripts/pull-leadcms-comments.js.map +1 -1
- package/dist/scripts/pull-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/pull-leadcms-content.js +9 -1
- package/dist/scripts/pull-leadcms-content.js.map +1 -1
- package/dist/scripts/pull-leadcms-email-templates.d.ts.map +1 -1
- package/dist/scripts/pull-leadcms-email-templates.js +12 -10
- package/dist/scripts/pull-leadcms-email-templates.js.map +1 -1
- package/dist/scripts/pull-segments.d.ts +32 -0
- package/dist/scripts/pull-segments.d.ts.map +1 -0
- package/dist/scripts/pull-segments.js +215 -0
- package/dist/scripts/pull-segments.js.map +1 -0
- package/dist/scripts/pull-sequences.d.ts +32 -0
- package/dist/scripts/pull-sequences.d.ts.map +1 -0
- package/dist/scripts/pull-sequences.js +236 -0
- package/dist/scripts/pull-sequences.js.map +1 -0
- package/dist/scripts/push-email-templates.d.ts.map +1 -1
- package/dist/scripts/push-email-templates.js +1 -8
- package/dist/scripts/push-email-templates.js.map +1 -1
- package/dist/scripts/push-leadcms-content.js +1 -1
- package/dist/scripts/push-segments.d.ts +35 -0
- package/dist/scripts/push-segments.d.ts.map +1 -0
- package/dist/scripts/push-segments.js +318 -0
- package/dist/scripts/push-segments.js.map +1 -0
- package/dist/scripts/push-sequences.d.ts +36 -0
- package/dist/scripts/push-sequences.d.ts.map +1 -0
- package/dist/scripts/push-sequences.js +351 -0
- package/dist/scripts/push-sequences.js.map +1 -0
- package/dist/scripts/push-settings.d.ts +3 -3
- package/dist/scripts/push-settings.js +8 -8
- package/dist/scripts/push-settings.js.map +1 -1
- package/dist/scripts/settings-manager.d.ts +5 -4
- package/dist/scripts/settings-manager.d.ts.map +1 -1
- package/dist/scripts/settings-manager.js +61 -55
- package/dist/scripts/settings-manager.js.map +1 -1
- package/package.json +21 -21
|
File without changes
|
|
File without changes
|
package/dist/cli/bin/init.js
CHANGED
|
File without changes
|
package/dist/cli/bin/login.js
CHANGED
|
File without changes
|
package/dist/cli/bin/pull-all.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-segments.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/pull-segments.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LeadCMS Pull Segments CLI Entry Point
|
|
4
|
+
*/
|
|
5
|
+
import { pullLeadCMSSegments } from '../../scripts/pull-segments.js';
|
|
6
|
+
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
7
|
+
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
8
|
+
import { startSpinner } from '../../lib/spinner.js';
|
|
9
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
initVerboseFromArgs(args);
|
|
12
|
+
const remoteContext = parseRemoteFlag(args);
|
|
13
|
+
const reset = args.includes('--reset');
|
|
14
|
+
await resolveIdentity();
|
|
15
|
+
const spinner = startSpinner('Pulling segments from LeadCMS…');
|
|
16
|
+
pullLeadCMSSegments({ reset, remoteContext })
|
|
17
|
+
.then(() => {
|
|
18
|
+
spinner.stop();
|
|
19
|
+
process.exit(0);
|
|
20
|
+
})
|
|
21
|
+
.catch((error) => {
|
|
22
|
+
spinner.fail('Segment pull failed');
|
|
23
|
+
console.error(error.message);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=pull-segments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-segments.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-segments.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,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;AAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAEvC,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;AAC/D,mBAAmB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;KAC1C,IAAI,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-sequences.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/pull-sequences.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LeadCMS Pull Sequences CLI Entry Point
|
|
4
|
+
*/
|
|
5
|
+
import { pullLeadCMSSequences } from '../../scripts/pull-sequences.js';
|
|
6
|
+
import { resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
7
|
+
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
8
|
+
import { startSpinner } from '../../lib/spinner.js';
|
|
9
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
initVerboseFromArgs(args);
|
|
12
|
+
const remoteContext = parseRemoteFlag(args);
|
|
13
|
+
const reset = args.includes('--reset');
|
|
14
|
+
await resolveIdentity();
|
|
15
|
+
const spinner = startSpinner('Pulling sequences from LeadCMS…');
|
|
16
|
+
pullLeadCMSSequences({ reset, remoteContext })
|
|
17
|
+
.then(() => {
|
|
18
|
+
spinner.stop();
|
|
19
|
+
process.exit(0);
|
|
20
|
+
})
|
|
21
|
+
.catch((error) => {
|
|
22
|
+
spinner.fail('Sequence pull failed');
|
|
23
|
+
console.error(error.message);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=pull-sequences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-sequences.js","sourceRoot":"","sources":["../../../src/cli/bin/pull-sequences.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,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;AAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAEvC,MAAM,eAAe,EAAE,CAAC;AAExB,MAAM,OAAO,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAChE,oBAAoB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;KAC3C,IAAI,CAAC,GAAG,EAAE;IACT,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IACpB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
File without changes
|
package/dist/cli/bin/push-all.js
CHANGED
|
@@ -9,6 +9,8 @@ import { pushComments } from '../../scripts/push-comments.js';
|
|
|
9
9
|
import { pushMedia } from '../../scripts/push-media.js';
|
|
10
10
|
import { pushEmailTemplates } from '../../scripts/push-email-templates.js';
|
|
11
11
|
import { pushSettings } from '../../scripts/push-settings.js';
|
|
12
|
+
import { pushSegments } from '../../scripts/push-segments.js';
|
|
13
|
+
import { pushSequences } from '../../scripts/push-sequences.js';
|
|
12
14
|
import { requireAuthenticatedUser } from '../../scripts/leadcms-helpers.js';
|
|
13
15
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
14
16
|
import { startSpinner } from '../../lib/spinner.js';
|
|
@@ -82,6 +84,22 @@ async function pushAll() {
|
|
|
82
84
|
scopeUid,
|
|
83
85
|
allowDelete
|
|
84
86
|
});
|
|
87
|
+
console.log('\n🔖 Pushing segments...');
|
|
88
|
+
spinner.update('Pushing segments…');
|
|
89
|
+
await pushSegments({
|
|
90
|
+
dryRun,
|
|
91
|
+
force,
|
|
92
|
+
allowDelete,
|
|
93
|
+
remoteContext,
|
|
94
|
+
});
|
|
95
|
+
console.log('\n🔗 Pushing sequences...');
|
|
96
|
+
spinner.update('Pushing sequences…');
|
|
97
|
+
await pushSequences({
|
|
98
|
+
dryRun,
|
|
99
|
+
force,
|
|
100
|
+
allowDelete,
|
|
101
|
+
remoteContext,
|
|
102
|
+
});
|
|
85
103
|
spinner.succeed('Push operation completed successfully!');
|
|
86
104
|
}
|
|
87
105
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-all.js","sourceRoot":"","sources":["../../../src/cli/bin/push-all.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"push-all.js","sourceRoot":"","sources":["../../../src/cli/bin/push-all.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-segments.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/push-segments.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LeadCMS Push Segments CLI Entry Point
|
|
4
|
+
*/
|
|
5
|
+
import { pushSegments } from '../../scripts/push-segments.js';
|
|
6
|
+
import { requireAuthenticatedUser, resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
7
|
+
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
8
|
+
import { startSpinner } from '../../lib/spinner.js';
|
|
9
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
initVerboseFromArgs(args);
|
|
12
|
+
const remoteContext = parseRemoteFlag(args);
|
|
13
|
+
const force = args.includes('--force') || args.includes('-f');
|
|
14
|
+
const dryRun = args.includes('--dry-run') || args.includes('-d');
|
|
15
|
+
const allowDelete = args.includes('--delete');
|
|
16
|
+
if (!dryRun) {
|
|
17
|
+
await requireAuthenticatedUser();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
await resolveIdentity();
|
|
21
|
+
}
|
|
22
|
+
const spinner = startSpinner('Pushing segments to LeadCMS…');
|
|
23
|
+
pushSegments({ force, dryRun, allowDelete, remoteContext })
|
|
24
|
+
.then(() => spinner.stop())
|
|
25
|
+
.catch((error) => {
|
|
26
|
+
spinner.fail('Segment push failed');
|
|
27
|
+
console.error(error.message);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=push-segments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-segments.js","sourceRoot":"","sources":["../../../src/cli/bin/push-segments.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC7F,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,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;IACV,MAAM,wBAAwB,EAAE,CAAC;AACrC,CAAC;KAAM,CAAC;IACJ,MAAM,eAAe,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,OAAO,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAC7D,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;KACtD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAClB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-sequences.d.ts","sourceRoot":"","sources":["../../../src/cli/bin/push-sequences.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LeadCMS Push Sequences CLI Entry Point
|
|
4
|
+
*/
|
|
5
|
+
import { pushSequences } from '../../scripts/push-sequences.js';
|
|
6
|
+
import { requireAuthenticatedUser, resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
7
|
+
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
8
|
+
import { startSpinner } from '../../lib/spinner.js';
|
|
9
|
+
import { parseRemoteFlag } from './remote-flag.js';
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
initVerboseFromArgs(args);
|
|
12
|
+
const remoteContext = parseRemoteFlag(args);
|
|
13
|
+
const force = args.includes('--force') || args.includes('-f');
|
|
14
|
+
const dryRun = args.includes('--dry-run') || args.includes('-d');
|
|
15
|
+
const allowDelete = args.includes('--delete');
|
|
16
|
+
if (!dryRun) {
|
|
17
|
+
await requireAuthenticatedUser();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
await resolveIdentity();
|
|
21
|
+
}
|
|
22
|
+
const spinner = startSpinner('Pushing sequences to LeadCMS…');
|
|
23
|
+
pushSequences({ force, dryRun, allowDelete, remoteContext })
|
|
24
|
+
.then(() => spinner.stop())
|
|
25
|
+
.catch((error) => {
|
|
26
|
+
spinner.fail('Sequence push failed');
|
|
27
|
+
console.error(error.message);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=push-sequences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-sequences.js","sourceRoot":"","sources":["../../../src/cli/bin/push-sequences.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC7F,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,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;IACV,MAAM,wBAAwB,EAAE,CAAC;AACrC,CAAC;KAAM,CAAC;IACJ,MAAM,eAAe,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,OAAO,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAC9D,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;KACvD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;IAClB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
File without changes
|
package/dist/cli/bin/push.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/cli/bin/remote.js
CHANGED
|
File without changes
|
|
@@ -9,6 +9,8 @@ import { buildCommentStatus } from '../../scripts/push-comments.js';
|
|
|
9
9
|
import { statusMedia } from '../../scripts/push-media.js';
|
|
10
10
|
import { buildEmailTemplateStatus, getRemoteGroupLabel } from '../../scripts/push-email-templates.js';
|
|
11
11
|
import { getSettingsStatusData, formatSettingValue, formatSettingDiff, renderSettingDiffPreview } from '../../scripts/push-settings.js';
|
|
12
|
+
import { buildSegmentStatus } from '../../scripts/push-segments.js';
|
|
13
|
+
import { buildSequenceStatus } from '../../scripts/push-sequences.js';
|
|
12
14
|
import { initVerboseFromArgs } from '../../lib/logger.js';
|
|
13
15
|
import { colorConsole, statusColors } from '../../lib/console-colors.js';
|
|
14
16
|
import { defaultLanguage, leadCMSApiKey, resolveIdentity } from '../../scripts/leadcms-helpers.js';
|
|
@@ -50,7 +52,7 @@ function renderContentSection(ops) {
|
|
|
50
52
|
const deletes = showDelete ? sortByLocaleAndSlug(ops.delete, o => o.remote?.language || '', o => o.remote?.slug || '') : [];
|
|
51
53
|
const changeCount = creates.length + updates.length + renames.length + typeChanges.length + conflicts.length + deletes.length;
|
|
52
54
|
for (const op of creates)
|
|
53
|
-
renderContentLine(op, 'new
|
|
55
|
+
renderContentLine(op, 'new: ', statusColors.created);
|
|
54
56
|
for (const op of updates)
|
|
55
57
|
renderContentLine(op, 'modified: ', statusColors.modified);
|
|
56
58
|
for (const op of renames) {
|
|
@@ -82,7 +84,7 @@ function renderMediaSection(result) {
|
|
|
82
84
|
const changeCount = creates.length + updates.length + deletes.length;
|
|
83
85
|
for (const op of creates) {
|
|
84
86
|
const sizeKB = (op.local.size / 1024).toFixed(2);
|
|
85
|
-
colorConsole.log(` ${statusColors.created('new
|
|
87
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${op.local.scopeUid}/${colorConsole.highlight(op.local.name)} ${colorConsole.gray(`(${sizeKB}KB)`)}`);
|
|
86
88
|
}
|
|
87
89
|
for (const op of updates) {
|
|
88
90
|
const sizeKB = (op.local.size / 1024).toFixed(2);
|
|
@@ -106,7 +108,7 @@ function renderCommentSection(operations) {
|
|
|
106
108
|
for (const op of creates) {
|
|
107
109
|
const comment = op.local?.comment;
|
|
108
110
|
const label = `${comment?.commentableType || 'Unknown'}#${comment?.commentableId || '?'} [${comment?.language || defaultLanguage}]`;
|
|
109
|
-
colorConsole.log(` ${statusColors.created('new
|
|
111
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${label} ${colorConsole.highlight(comment?.body?.slice(0, 48) || 'New comment')}`);
|
|
110
112
|
}
|
|
111
113
|
for (const op of updates) {
|
|
112
114
|
const comment = op.local?.comment || op.remote;
|
|
@@ -139,7 +141,7 @@ function renderEmailTemplateSection(operations) {
|
|
|
139
141
|
const groupLabel = (op.local?.groupFolder || 'ungrouped').padEnd(12);
|
|
140
142
|
const localeLabel = `[${op.local?.locale || defaultLanguage}]`.padEnd(6);
|
|
141
143
|
const nameLabel = op.local?.metadata?.name || 'unknown';
|
|
142
|
-
colorConsole.log(` ${statusColors.created('new
|
|
144
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${groupLabel} ${localeLabel} ${colorConsole.highlight(nameLabel)}`);
|
|
143
145
|
}
|
|
144
146
|
for (const op of updates) {
|
|
145
147
|
const groupLabel = (op.local?.groupFolder || 'ungrouped').padEnd(12);
|
|
@@ -164,6 +166,66 @@ function renderEmailTemplateSection(operations) {
|
|
|
164
166
|
}
|
|
165
167
|
return changeCount;
|
|
166
168
|
}
|
|
169
|
+
// ── Segment rendering ────────────────────────────────────────────────────────
|
|
170
|
+
function renderSegmentSection(operations) {
|
|
171
|
+
const creates = operations.filter(op => op.type === 'create');
|
|
172
|
+
const updates = operations.filter(op => op.type === 'update');
|
|
173
|
+
const conflicts = operations.filter(op => op.type === 'conflict');
|
|
174
|
+
const deletes = showDelete ? operations.filter(op => op.type === 'delete') : [];
|
|
175
|
+
const changeCount = creates.length + updates.length + conflicts.length + deletes.length;
|
|
176
|
+
for (const op of creates) {
|
|
177
|
+
const nameLabel = op.local?.name || 'unknown';
|
|
178
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${colorConsole.highlight(nameLabel)}`);
|
|
179
|
+
}
|
|
180
|
+
for (const op of updates) {
|
|
181
|
+
const nameLabel = op.local?.name || op.remote?.name || 'unknown';
|
|
182
|
+
const idLabel = op.remote?.id ? `(ID: ${op.remote.id})` : '';
|
|
183
|
+
colorConsole.log(` ${statusColors.modified('modified: ')} ${colorConsole.highlight(nameLabel)} ${colorConsole.gray(idLabel)}`);
|
|
184
|
+
}
|
|
185
|
+
for (const op of conflicts) {
|
|
186
|
+
const nameLabel = op.local?.name || op.remote?.name || 'unknown';
|
|
187
|
+
const idLabel = op.remote?.id ? `(ID: ${op.remote.id})` : '';
|
|
188
|
+
colorConsole.log(` ${statusColors.conflict('conflict: ')} ${colorConsole.highlight(nameLabel)} ${colorConsole.gray(idLabel)}`);
|
|
189
|
+
if (op.reason)
|
|
190
|
+
colorConsole.log(` ${colorConsole.gray(op.reason)}`);
|
|
191
|
+
}
|
|
192
|
+
for (const op of deletes) {
|
|
193
|
+
const nameLabel = op.remote?.name || 'unknown';
|
|
194
|
+
const idLabel = op.remote?.id ? `(ID: ${op.remote.id})` : '';
|
|
195
|
+
colorConsole.log(` ${statusColors.conflict('deleted: ')} ${colorConsole.highlight(nameLabel)} ${colorConsole.gray(idLabel)}`);
|
|
196
|
+
}
|
|
197
|
+
return changeCount;
|
|
198
|
+
}
|
|
199
|
+
// ── Sequence rendering ───────────────────────────────────────────────────────
|
|
200
|
+
function renderSequenceSection(operations) {
|
|
201
|
+
const creates = operations.filter(op => op.type === 'create');
|
|
202
|
+
const updates = operations.filter(op => op.type === 'update');
|
|
203
|
+
const conflicts = operations.filter(op => op.type === 'conflict');
|
|
204
|
+
const deletes = showDelete ? operations.filter(op => op.type === 'delete') : [];
|
|
205
|
+
const changeCount = creates.length + updates.length + conflicts.length + deletes.length;
|
|
206
|
+
for (const op of creates) {
|
|
207
|
+
const nameLabel = op.local?.name || 'unknown';
|
|
208
|
+
colorConsole.log(` ${statusColors.created('new: ')} ${colorConsole.highlight(nameLabel)}`);
|
|
209
|
+
}
|
|
210
|
+
for (const op of updates) {
|
|
211
|
+
const nameLabel = op.local?.name || op.remote?.name || 'unknown';
|
|
212
|
+
const idLabel = op.remote?.id ? `(ID: ${op.remote.id})` : '';
|
|
213
|
+
colorConsole.log(` ${statusColors.modified('modified: ')} ${colorConsole.highlight(nameLabel)} ${colorConsole.gray(idLabel)}`);
|
|
214
|
+
}
|
|
215
|
+
for (const op of conflicts) {
|
|
216
|
+
const nameLabel = op.local?.name || op.remote?.name || 'unknown';
|
|
217
|
+
const idLabel = op.remote?.id ? `(ID: ${op.remote.id})` : '';
|
|
218
|
+
colorConsole.log(` ${statusColors.conflict('conflict: ')} ${colorConsole.highlight(nameLabel)} ${colorConsole.gray(idLabel)}`);
|
|
219
|
+
if (op.reason)
|
|
220
|
+
colorConsole.log(` ${colorConsole.gray(op.reason)}`);
|
|
221
|
+
}
|
|
222
|
+
for (const op of deletes) {
|
|
223
|
+
const nameLabel = op.remote?.name || 'unknown';
|
|
224
|
+
const idLabel = op.remote?.id ? `(ID: ${op.remote.id})` : '';
|
|
225
|
+
colorConsole.log(` ${statusColors.conflict('deleted: ')} ${colorConsole.highlight(nameLabel)} ${colorConsole.gray(idLabel)}`);
|
|
226
|
+
}
|
|
227
|
+
return changeCount;
|
|
228
|
+
}
|
|
167
229
|
// ── Summary helper ───────────────────────────────────────────────────────────
|
|
168
230
|
function renderSummaryLine(label, counts) {
|
|
169
231
|
const parts = [];
|
|
@@ -197,8 +259,10 @@ async function statusAll() {
|
|
|
197
259
|
let mediaResult = null;
|
|
198
260
|
let emailResult = null;
|
|
199
261
|
let settingsResult = null;
|
|
262
|
+
let segmentResult = null;
|
|
263
|
+
let sequenceResult = null;
|
|
200
264
|
try {
|
|
201
|
-
[contentResult, commentResult, mediaResult, emailResult, settingsResult] = await Promise.all([
|
|
265
|
+
[contentResult, commentResult, mediaResult, emailResult, settingsResult, segmentResult, sequenceResult] = await Promise.all([
|
|
202
266
|
getContentStatusData({ showDelete, remoteContext }).catch((err) => {
|
|
203
267
|
spinner.update('Fetching status… (content failed)');
|
|
204
268
|
return null;
|
|
@@ -223,6 +287,18 @@ async function statusAll() {
|
|
|
223
287
|
return null;
|
|
224
288
|
})
|
|
225
289
|
: Promise.resolve(null),
|
|
290
|
+
canCheckEmailTemplates
|
|
291
|
+
? buildSegmentStatus({ showDelete, remoteContext }).catch((err) => {
|
|
292
|
+
spinner.update('Fetching status… (segments failed)');
|
|
293
|
+
return null;
|
|
294
|
+
})
|
|
295
|
+
: Promise.resolve(null),
|
|
296
|
+
canCheckEmailTemplates
|
|
297
|
+
? buildSequenceStatus({ showDelete, remoteContext }).catch((err) => {
|
|
298
|
+
spinner.update('Fetching status… (sequences failed)');
|
|
299
|
+
return null;
|
|
300
|
+
})
|
|
301
|
+
: Promise.resolve(null),
|
|
226
302
|
]);
|
|
227
303
|
spinner.stop();
|
|
228
304
|
}
|
|
@@ -235,6 +311,8 @@ async function statusAll() {
|
|
|
235
311
|
const contentOps = contentResult?.operations ?? null;
|
|
236
312
|
const commentOps = commentResult?.operations ?? null;
|
|
237
313
|
const emailOps = emailResult?.operations ?? null;
|
|
314
|
+
const segmentOps = segmentResult?.operations ?? null;
|
|
315
|
+
const sequenceOps = sequenceResult?.operations ?? null;
|
|
238
316
|
// Count changes per section
|
|
239
317
|
const contentChanges = contentOps
|
|
240
318
|
? contentOps.create.length + contentOps.update.length + contentOps.rename.length +
|
|
@@ -254,6 +332,12 @@ async function statusAll() {
|
|
|
254
332
|
const settingsChanges = settingsResult
|
|
255
333
|
? settingsResult.comparisons.filter(c => c.status !== 'in-sync').length
|
|
256
334
|
: 0;
|
|
335
|
+
const segmentChanges = segmentOps
|
|
336
|
+
? segmentOps.filter(op => showDelete ? true : op.type !== 'delete').length
|
|
337
|
+
: 0;
|
|
338
|
+
const sequenceChanges = sequenceOps
|
|
339
|
+
? sequenceOps.filter(op => showDelete ? true : op.type !== 'delete').length
|
|
340
|
+
: 0;
|
|
257
341
|
// Count up-to-date items per section
|
|
258
342
|
const contentSkips = contentResult
|
|
259
343
|
? contentResult.totalLocal - contentChanges
|
|
@@ -270,7 +354,13 @@ async function statusAll() {
|
|
|
270
354
|
const settingsInSync = settingsResult
|
|
271
355
|
? settingsResult.comparisons.filter(c => c.status === 'in-sync').length
|
|
272
356
|
: 0;
|
|
273
|
-
const
|
|
357
|
+
const segmentSkips = segmentResult
|
|
358
|
+
? segmentResult.totalLocal - segmentChanges
|
|
359
|
+
: 0;
|
|
360
|
+
const sequenceSkips = sequenceResult
|
|
361
|
+
? sequenceResult.totalLocal - sequenceChanges
|
|
362
|
+
: 0;
|
|
363
|
+
const totalChanges = contentChanges + commentChanges + mediaChanges + emailChanges + settingsChanges + segmentChanges + sequenceChanges;
|
|
274
364
|
if (totalChanges === 0) {
|
|
275
365
|
colorConsole.success('\n✅ Everything is in sync!\n');
|
|
276
366
|
if (contentResult)
|
|
@@ -285,6 +375,12 @@ async function statusAll() {
|
|
|
285
375
|
if (canCheckEmailTemplates && settingsResult) {
|
|
286
376
|
console.log(` ⚙️ Settings: ${settingsInSync > 0 ? `${settingsInSync} setting(s) ` : ''}up to date`);
|
|
287
377
|
}
|
|
378
|
+
if (canCheckEmailTemplates && segmentResult) {
|
|
379
|
+
console.log(` 🔖 Segments: ${segmentSkips > 0 ? `${segmentSkips} item(s) ` : ''}up to date`);
|
|
380
|
+
}
|
|
381
|
+
if (canCheckEmailTemplates && sequenceResult) {
|
|
382
|
+
console.log(` 🔗 Sequences: ${sequenceSkips > 0 ? `${sequenceSkips} item(s) ` : ''}up to date`);
|
|
383
|
+
}
|
|
288
384
|
console.log('');
|
|
289
385
|
process.exit(0);
|
|
290
386
|
}
|
|
@@ -335,6 +431,18 @@ async function statusAll() {
|
|
|
335
431
|
}
|
|
336
432
|
console.log('');
|
|
337
433
|
}
|
|
434
|
+
// ── Segments section ──
|
|
435
|
+
if (segmentOps && segmentChanges > 0) {
|
|
436
|
+
colorConsole.important(` 🔖 Segments (${segmentChanges} change${segmentChanges !== 1 ? 's' : ''}):`);
|
|
437
|
+
renderSegmentSection(segmentOps);
|
|
438
|
+
console.log('');
|
|
439
|
+
}
|
|
440
|
+
// ── Sequences section ──
|
|
441
|
+
if (sequenceOps && sequenceChanges > 0) {
|
|
442
|
+
colorConsole.important(` 🔗 Sequences (${sequenceChanges} change${sequenceChanges !== 1 ? 's' : ''}):`);
|
|
443
|
+
renderSequenceSection(sequenceOps);
|
|
444
|
+
console.log('');
|
|
445
|
+
}
|
|
338
446
|
// ── Summary ──
|
|
339
447
|
console.log('─'.repeat(80));
|
|
340
448
|
if (contentOps) {
|
|
@@ -388,6 +496,26 @@ async function statusAll() {
|
|
|
388
496
|
skips: settingsInSync,
|
|
389
497
|
}));
|
|
390
498
|
}
|
|
499
|
+
if (canCheckEmailTemplates && segmentOps) {
|
|
500
|
+
const counts = segmentOps.reduce((acc, op) => { acc[op.type] = (acc[op.type] || 0) + 1; return acc; }, {});
|
|
501
|
+
console.log(renderSummaryLine('🔖 Segments: ', {
|
|
502
|
+
creates: counts.create || 0,
|
|
503
|
+
updates: counts.update || 0,
|
|
504
|
+
conflicts: counts.conflict || 0,
|
|
505
|
+
deletes: showDelete ? (counts.delete || 0) : 0,
|
|
506
|
+
skips: segmentSkips,
|
|
507
|
+
}));
|
|
508
|
+
}
|
|
509
|
+
if (canCheckEmailTemplates && sequenceOps) {
|
|
510
|
+
const counts = sequenceOps.reduce((acc, op) => { acc[op.type] = (acc[op.type] || 0) + 1; return acc; }, {});
|
|
511
|
+
console.log(renderSummaryLine('🔗 Sequences: ', {
|
|
512
|
+
creates: counts.create || 0,
|
|
513
|
+
updates: counts.update || 0,
|
|
514
|
+
conflicts: counts.conflict || 0,
|
|
515
|
+
deletes: showDelete ? (counts.delete || 0) : 0,
|
|
516
|
+
skips: sequenceSkips,
|
|
517
|
+
}));
|
|
518
|
+
}
|
|
391
519
|
console.log('');
|
|
392
520
|
process.exit(0);
|
|
393
521
|
}
|