mcdev 5.2.0 → 6.0.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/.eslintrc.json +1 -1
- package/.fork/custom-commands.json +12 -0
- package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
- package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +19 -0
- package/.github/workflows/code-test.yml +1 -1
- package/.github/workflows/coverage-base-update.yml +1 -1
- package/.github/workflows/coverage-develop-branch.yml +2 -2
- package/.github/workflows/coverage-main-branch.yml +2 -2
- package/.github/workflows/coverage.yml +2 -2
- package/.github/workflows/npm-publish.yml +2 -2
- package/.prettierrc +7 -0
- package/docs/dist/documentation.md +388 -482
- package/jsconfig.json +5 -1
- package/lib/Builder.js +8 -8
- package/lib/Deployer.js +10 -10
- package/lib/MetadataTypeDefinitions.js +73 -38
- package/lib/MetadataTypeInfo.js +72 -37
- package/lib/Retriever.js +8 -8
- package/lib/cli.js +12 -7
- package/lib/index.js +28 -18
- package/lib/metadataTypes/Asset.js +12 -10
- package/lib/metadataTypes/AttributeGroup.js +7 -6
- package/lib/metadataTypes/AttributeSet.js +126 -18
- package/lib/metadataTypes/Automation.js +107 -78
- package/lib/metadataTypes/Campaign.js +7 -6
- package/lib/metadataTypes/ContentArea.js +7 -6
- package/lib/metadataTypes/DataExtension.js +475 -78
- package/lib/metadataTypes/DataExtensionField.js +36 -18
- package/lib/metadataTypes/DataExtensionTemplate.js +5 -4
- package/lib/metadataTypes/DataExtract.js +8 -7
- package/lib/metadataTypes/DataExtractType.js +5 -4
- package/lib/metadataTypes/Discovery.js +6 -5
- package/lib/metadataTypes/Email.js +6 -5
- package/lib/metadataTypes/EmailSend.js +7 -6
- package/lib/metadataTypes/Event.js +8 -7
- package/lib/metadataTypes/FileLocation.js +5 -4
- package/lib/metadataTypes/FileTransfer.js +8 -7
- package/lib/metadataTypes/Filter.js +5 -4
- package/lib/metadataTypes/Folder.js +9 -8
- package/lib/metadataTypes/ImportFile.js +8 -7
- package/lib/metadataTypes/Journey.js +17 -9
- package/lib/metadataTypes/List.js +9 -8
- package/lib/metadataTypes/MetadataType.js +100 -34
- package/lib/metadataTypes/MobileCode.js +5 -4
- package/lib/metadataTypes/MobileKeyword.js +9 -8
- package/lib/metadataTypes/MobileMessage.js +8 -7
- package/lib/metadataTypes/Query.js +9 -8
- package/lib/metadataTypes/Role.js +8 -7
- package/lib/metadataTypes/Script.js +7 -6
- package/lib/metadataTypes/SendClassification.js +5 -4
- package/lib/metadataTypes/TransactionalEmail.js +101 -23
- package/lib/metadataTypes/TransactionalMessage.js +9 -7
- package/lib/metadataTypes/TransactionalPush.js +7 -6
- package/lib/metadataTypes/TransactionalSMS.js +9 -8
- package/lib/metadataTypes/TriggeredSend.js +15 -12
- package/lib/metadataTypes/User.js +8 -7
- package/lib/metadataTypes/Verification.js +230 -0
- package/lib/metadataTypes/definitions/Asset.definition.js +1 -1
- package/lib/metadataTypes/definitions/AttributeGroup.definition.js +3 -3
- package/lib/metadataTypes/definitions/AttributeSet.definition.js +75 -22
- package/lib/metadataTypes/definitions/Automation.definition.js +2 -1
- package/lib/metadataTypes/definitions/Campaign.definition.js +1 -1
- package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -1
- package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -1
- package/lib/metadataTypes/definitions/DataExtensionField.definition.js +1 -1
- package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -1
- package/lib/metadataTypes/definitions/DataExtract.definition.js +1 -1
- package/lib/metadataTypes/definitions/DataExtractType.definition.js +1 -1
- package/lib/metadataTypes/definitions/Discovery.definition.js +1 -1
- package/lib/metadataTypes/definitions/Email.definition.js +1 -1
- package/lib/metadataTypes/definitions/EmailSend.definition.js +1 -1
- package/lib/metadataTypes/definitions/Event.definition.js +1 -1
- package/lib/metadataTypes/definitions/FileLocation.definition.js +1 -1
- package/lib/metadataTypes/definitions/FileTransfer.definition.js +1 -1
- package/lib/metadataTypes/definitions/Filter.definition.js +1 -1
- package/lib/metadataTypes/definitions/Folder.definition.js +1 -1
- package/lib/metadataTypes/definitions/ImportFile.definition.js +1 -1
- package/lib/metadataTypes/definitions/Journey.definition.js +1 -1
- package/lib/metadataTypes/definitions/List.definition.js +1 -1
- package/lib/metadataTypes/definitions/MobileCode.definition.js +1 -1
- package/lib/metadataTypes/definitions/MobileKeyword.definition.js +1 -1
- package/lib/metadataTypes/definitions/MobileMessage.definition.js +1 -1
- package/lib/metadataTypes/definitions/Query.definition.js +1 -1
- package/lib/metadataTypes/definitions/Role.definition.js +1 -1
- package/lib/metadataTypes/definitions/Script.definition.js +1 -1
- package/lib/metadataTypes/definitions/SendClassification.definition.js +1 -1
- package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +20 -2
- package/lib/metadataTypes/definitions/TransactionalPush.definition.js +1 -1
- package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +1 -1
- package/lib/metadataTypes/definitions/TriggeredSend.definition.js +1 -1
- package/lib/metadataTypes/definitions/User.definition.js +1 -1
- package/lib/metadataTypes/definitions/Verification.definition.js +88 -0
- package/lib/retrieveChangelog.js +4 -3
- package/lib/util/auth.js +11 -8
- package/lib/util/businessUnit.js +5 -5
- package/lib/util/cache.js +3 -3
- package/lib/util/cli.js +15 -13
- package/lib/util/config.js +10 -7
- package/lib/util/devops.js +12 -11
- package/lib/util/file.js +15 -14
- package/lib/util/init.config.js +11 -9
- package/lib/util/init.git.js +8 -7
- package/lib/util/init.js +12 -12
- package/lib/util/init.npm.js +7 -5
- package/lib/util/util.js +14 -12
- package/package.json +32 -27
- package/test/general.test.js +4 -6
- package/test/mockRoot/.mcdevrc.json +1 -1
- package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testExisting_dataExtensionShared.dataExtension-meta.json +59 -0
- package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testNew_dataExtensionShared.dataExtension-meta.json +23 -0
- package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +4 -0
- package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testExisting_dataExtension.dataExtension-meta.json +1 -0
- package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +3 -4
- package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -6
- package/test/mockRoot/deploy/testInstance/testBU/verification/testExisting_39f6a488-20eb-4ba0-b0b9.verification-meta.json +11 -0
- package/test/mockRoot/deploy/testInstance/testBU/verification/testNew_39f6a488-20eb-4ba0-b0b9.verification-meta.json +11 -0
- package/test/resourceFactory.js +52 -26
- package/test/resources/1111111/data/v1/customobjectdata/key/testExisting_dataExtensionShared/rowset/get-response.json +13 -0
- package/test/resources/1111111/dataExtension/create-expected.json +23 -0
- package/test/resources/1111111/dataExtension/create-response.xml +59 -0
- package/test/resources/1111111/dataExtension/retrieve-expected.json +55 -0
- package/test/resources/1111111/dataExtension/retrieve-expected.md +18 -0
- package/test/resources/1111111/dataExtension/retrieve-response.xml +27 -1
- package/test/resources/1111111/dataExtension/update-expected.json +55 -0
- package/test/resources/1111111/dataExtension/update-response.xml +57 -0
- package/test/resources/1111111/dataExtensionField/retrieve-CustomerKey=[testExisting_dataExtensionShared].[TriggerUpdate_randomNumber_]-response.xml +45 -0
- package/test/resources/1111111/dataExtensionField/retrieve-DataExtension.CustomerKey=testExisting_dataExtensionShared-response.xml +98 -0
- package/test/resources/1111111/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_dataExtensionSharedORDataExtension.CustomerKey=testExisting_dataExtensionShared-response.xml +98 -0
- package/test/resources/1111111/dataExtensionField/retrieve-response.xml +98 -0
- package/test/resources/1111111/dataExtensionTemplate/retrieve-response.xml +303 -0
- package/test/resources/1111111/dataFolder/retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml +387 -0
- package/test/resources/1111111/dataFolder/retrieve-response.xml +353 -9
- package/test/resources/9999999/attributeSet/retrieve-expected.json +89 -694
- package/test/resources/9999999/automation/build-expected.json +4 -0
- package/test/resources/9999999/automation/create-expected.json +4 -0
- package/test/resources/9999999/automation/create-testNew_automation-expected.md +1 -0
- package/test/resources/9999999/automation/retrieve-expected.json +4 -0
- package/test/resources/9999999/automation/retrieve-testExisting_automation-expected.md +1 -0
- package/test/resources/9999999/automation/template-expected.json +4 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +7 -0
- package/test/resources/9999999/automation/v1/automations/post-response.json +7 -0
- package/test/resources/9999999/automation/v1/dataverifications/post-response.json +12 -0
- package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/delete-response.json +0 -0
- package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/get-response.json +12 -0
- package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/patch-response.json +12 -0
- package/test/resources/9999999/dataExtension/build-expected.json +16 -0
- package/test/resources/9999999/dataExtension/delete-response.xml +42 -0
- package/test/resources/9999999/dataExtension/retrieve-expected.json +16 -0
- package/test/resources/9999999/dataExtension/retrieve-expected.md +3 -1
- package/test/resources/9999999/dataExtension/template-expected.json +16 -0
- package/test/resources/9999999/dataExtension/update-expected.json +17 -1
- package/test/resources/9999999/dataExtensionField/retrieve-CustomerKey=[testExisting_dataExtension].[LastName]-response.xml +44 -0
- package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testExisting_dataExtension-response.xml +36 -1
- package/test/resources/9999999/dataExtensionField/retrieve-response.xml +36 -1
- package/test/resources/9999999/dataFolder/retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml +117 -0
- package/test/resources/9999999/hub/v1/contacts/schema/attributeGroups/get-response.json +43 -0
- package/test/resources/9999999/hub/v1/contacts/schema/setDefinitions/get-response.json +387 -0
- package/test/resources/9999999/interaction/v1/interactions/233d4413-922c-4568-85a5-e5cc77efc3be/delete-response.json +1 -0
- package/test/resources/9999999/legacy/v1/beta/bulk/automations/automation/definition/get-response.json +1 -1
- package/test/resources/9999999/messaging/v1/email/definitions/post-response.json +1 -1
- package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/delete-response.json +6 -0
- package/test/resources/9999999/transactionalEmail/build-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/get-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/patch-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/post-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/template-expected.json +3 -7
- package/test/resources/9999999/verification/build-expected.json +11 -0
- package/test/resources/9999999/verification/get-expected.json +11 -0
- package/test/resources/9999999/verification/patch-expected.json +11 -0
- package/test/resources/9999999/verification/post-expected.json +11 -0
- package/test/resources/9999999/verification/template-expected.json +11 -0
- package/test/type.attributeGroup.test.js +9 -12
- package/test/type.attributeSet.test.js +10 -13
- package/test/type.automation.test.js +34 -32
- package/test/type.dataExtension.test.js +210 -54
- package/test/type.dataExtract.test.js +15 -9
- package/test/type.fileTransfer.test.js +15 -9
- package/test/type.importFile.test.js +15 -9
- package/test/type.journey.test.js +43 -17
- package/test/type.mobileKeyword.test.js +11 -11
- package/test/type.mobileMessage.test.js +11 -11
- package/test/type.query.test.js +13 -14
- package/test/type.script.test.js +11 -9
- package/test/type.transactionalEmail.test.js +17 -17
- package/test/type.transactionalPush.test.js +7 -10
- package/test/type.transactionalSMS.test.js +7 -11
- package/test/type.triggeredSend.test.js +11 -10
- package/test/type.user.test.js +6 -8
- package/test/type.verification.test.js +172 -0
- package/test/utils.js +68 -48
- package/types/mcdev.d.js +16 -2
package/jsconfig.json
CHANGED
package/lib/Builder.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import TYPE from '../types/mcdev.d.js';
|
|
4
|
+
import { Util } from './util/util.js';
|
|
5
|
+
import File from './util/file.js';
|
|
6
|
+
import config from './util/config.js';
|
|
7
|
+
import Cli from './util/cli.js';
|
|
8
|
+
import auth from './util/auth.js';
|
|
9
|
+
import MetadataTypeInfo from './MetadataTypeInfo.js';
|
|
10
10
|
// @ts-ignore
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -249,4 +249,4 @@ saved
|
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
|
|
252
|
+
export default Builder;
|
package/lib/Deployer.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
import TYPE from '../types/mcdev.d.js';
|
|
4
|
+
import MetadataTypeInfo from './MetadataTypeInfo.js';
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
import Cli from './util/cli.js';
|
|
7
|
+
import { Util } from './util/util.js';
|
|
8
|
+
import File from './util/file.js';
|
|
9
|
+
import config from './util/config.js';
|
|
10
|
+
import cache from './util/cache.js';
|
|
11
|
+
import auth from './util/auth.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Reads metadata from local directory and deploys it to specified target business unit.
|
|
@@ -455,4 +455,4 @@ class Deployer {
|
|
|
455
455
|
}
|
|
456
456
|
}
|
|
457
457
|
|
|
458
|
-
|
|
458
|
+
export default Deployer;
|
|
@@ -1,43 +1,78 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
import asset from './metadataTypes/definitions/Asset.definition.js';
|
|
4
|
+
import attributeGroup from './metadataTypes/definitions/AttributeGroup.definition.js';
|
|
5
|
+
import attributeSet from './metadataTypes/definitions/AttributeSet.definition.js';
|
|
6
|
+
import automation from './metadataTypes/definitions/Automation.definition.js';
|
|
7
|
+
import campaign from './metadataTypes/definitions/Campaign.definition.js';
|
|
8
|
+
import contentArea from './metadataTypes/definitions/ContentArea.definition.js';
|
|
9
|
+
import dataExtension from './metadataTypes/definitions/DataExtension.definition.js';
|
|
10
|
+
import dataExtensionField from './metadataTypes/definitions/DataExtensionField.definition.js';
|
|
11
|
+
import dataExtensionTemplate from './metadataTypes/definitions/DataExtensionTemplate.definition.js';
|
|
12
|
+
import dataExtract from './metadataTypes/definitions/DataExtract.definition.js';
|
|
13
|
+
import dataExtractType from './metadataTypes/definitions/DataExtractType.definition.js';
|
|
14
|
+
import discovery from './metadataTypes/definitions/Discovery.definition.js';
|
|
15
|
+
import email from './metadataTypes/definitions/Email.definition.js';
|
|
16
|
+
import emailSend from './metadataTypes/definitions/EmailSend.definition.js';
|
|
17
|
+
import event from './metadataTypes/definitions/Event.definition.js';
|
|
18
|
+
import fileLocation from './metadataTypes/definitions/FileLocation.definition.js';
|
|
19
|
+
import fileTransfer from './metadataTypes/definitions/FileTransfer.definition.js';
|
|
20
|
+
import filter from './metadataTypes/definitions/Filter.definition.js';
|
|
21
|
+
import folder from './metadataTypes/definitions/Folder.definition.js';
|
|
22
|
+
import importFile from './metadataTypes/definitions/ImportFile.definition.js';
|
|
23
|
+
import journey from './metadataTypes/definitions/Journey.definition.js';
|
|
24
|
+
import list from './metadataTypes/definitions/List.definition.js';
|
|
25
|
+
import mobileCode from './metadataTypes/definitions/MobileCode.definition.js';
|
|
26
|
+
import mobileKeyword from './metadataTypes/definitions/MobileKeyword.definition.js';
|
|
27
|
+
import mobileMessage from './metadataTypes/definitions/MobileMessage.definition.js';
|
|
28
|
+
import query from './metadataTypes/definitions/Query.definition.js';
|
|
29
|
+
import role from './metadataTypes/definitions/Role.definition.js';
|
|
30
|
+
import script from './metadataTypes/definitions/Script.definition.js';
|
|
31
|
+
import sendClassification from './metadataTypes/definitions/SendClassification.definition.js';
|
|
32
|
+
import transactionalEmail from './metadataTypes/definitions/TransactionalEmail.definition.js';
|
|
33
|
+
import transactionalPush from './metadataTypes/definitions/TransactionalPush.definition.js';
|
|
34
|
+
import transactionalSMS from './metadataTypes/definitions/TransactionalSMS.definition.js';
|
|
35
|
+
import triggeredSend from './metadataTypes/definitions/TriggeredSend.definition.js';
|
|
36
|
+
import user from './metadataTypes/definitions/User.definition.js';
|
|
37
|
+
import verification from './metadataTypes/definitions/Verification.definition.js';
|
|
38
|
+
|
|
3
39
|
/**
|
|
4
|
-
* Provides access to all metadataType classes
|
|
40
|
+
* Provides access to definitions of all metadataType classes
|
|
5
41
|
*/
|
|
6
|
-
|
|
7
|
-
asset
|
|
8
|
-
attributeGroup
|
|
9
|
-
attributeSet
|
|
10
|
-
automation
|
|
11
|
-
campaign
|
|
12
|
-
contentArea
|
|
13
|
-
dataExtension
|
|
14
|
-
dataExtensionField
|
|
15
|
-
dataExtensionTemplate
|
|
16
|
-
dataExtract
|
|
17
|
-
dataExtractType
|
|
18
|
-
discovery
|
|
19
|
-
email
|
|
20
|
-
emailSend
|
|
21
|
-
event
|
|
22
|
-
fileLocation
|
|
23
|
-
fileTransfer
|
|
24
|
-
filter
|
|
25
|
-
folder
|
|
26
|
-
importFile
|
|
27
|
-
journey
|
|
28
|
-
list
|
|
29
|
-
mobileCode
|
|
30
|
-
mobileKeyword
|
|
31
|
-
mobileMessage
|
|
32
|
-
query
|
|
33
|
-
role
|
|
34
|
-
script
|
|
35
|
-
sendClassification
|
|
36
|
-
transactionalEmail
|
|
37
|
-
transactionalPush
|
|
38
|
-
transactionalSMS
|
|
39
|
-
triggeredSend
|
|
40
|
-
user
|
|
42
|
+
export default {
|
|
43
|
+
asset,
|
|
44
|
+
attributeGroup,
|
|
45
|
+
attributeSet,
|
|
46
|
+
automation,
|
|
47
|
+
campaign,
|
|
48
|
+
contentArea,
|
|
49
|
+
dataExtension,
|
|
50
|
+
dataExtensionField,
|
|
51
|
+
dataExtensionTemplate,
|
|
52
|
+
dataExtract,
|
|
53
|
+
dataExtractType,
|
|
54
|
+
discovery,
|
|
55
|
+
email,
|
|
56
|
+
emailSend,
|
|
57
|
+
event,
|
|
58
|
+
fileLocation,
|
|
59
|
+
fileTransfer,
|
|
60
|
+
filter,
|
|
61
|
+
folder,
|
|
62
|
+
importFile,
|
|
63
|
+
journey,
|
|
64
|
+
list,
|
|
65
|
+
mobileCode,
|
|
66
|
+
mobileKeyword,
|
|
67
|
+
mobileMessage,
|
|
68
|
+
query,
|
|
69
|
+
role,
|
|
70
|
+
script,
|
|
71
|
+
sendClassification,
|
|
72
|
+
transactionalEmail,
|
|
73
|
+
transactionalPush,
|
|
74
|
+
transactionalSMS,
|
|
75
|
+
triggeredSend,
|
|
76
|
+
user,
|
|
77
|
+
verification,
|
|
41
78
|
};
|
|
42
|
-
|
|
43
|
-
module.exports = MetadataTypeDefinitions;
|
package/lib/MetadataTypeInfo.js
CHANGED
|
@@ -1,43 +1,78 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
import asset from './metadataTypes/Asset.js';
|
|
4
|
+
import attributeGroup from './metadataTypes/AttributeGroup.js';
|
|
5
|
+
import attributeSet from './metadataTypes/AttributeSet.js';
|
|
6
|
+
import automation from './metadataTypes/Automation.js';
|
|
7
|
+
import campaign from './metadataTypes/Campaign.js';
|
|
8
|
+
import contentArea from './metadataTypes/ContentArea.js';
|
|
9
|
+
import dataExtension from './metadataTypes/DataExtension.js';
|
|
10
|
+
import dataExtensionField from './metadataTypes/DataExtensionField.js';
|
|
11
|
+
import dataExtensionTemplate from './metadataTypes/DataExtensionTemplate.js';
|
|
12
|
+
import dataExtract from './metadataTypes/DataExtract.js';
|
|
13
|
+
import dataExtractType from './metadataTypes/DataExtractType.js';
|
|
14
|
+
import discovery from './metadataTypes/Discovery.js';
|
|
15
|
+
import email from './metadataTypes/Email.js';
|
|
16
|
+
import emailSend from './metadataTypes/EmailSend.js';
|
|
17
|
+
import event from './metadataTypes/Event.js';
|
|
18
|
+
import fileLocation from './metadataTypes/FileLocation.js';
|
|
19
|
+
import fileTransfer from './metadataTypes/FileTransfer.js';
|
|
20
|
+
import filter from './metadataTypes/Filter.js';
|
|
21
|
+
import folder from './metadataTypes/Folder.js';
|
|
22
|
+
import importFile from './metadataTypes/ImportFile.js';
|
|
23
|
+
import journey from './metadataTypes/Journey.js';
|
|
24
|
+
import list from './metadataTypes/List.js';
|
|
25
|
+
import mobileCode from './metadataTypes/MobileCode.js';
|
|
26
|
+
import mobileKeyword from './metadataTypes/MobileKeyword.js';
|
|
27
|
+
import mobileMessage from './metadataTypes/MobileMessage.js';
|
|
28
|
+
import query from './metadataTypes/Query.js';
|
|
29
|
+
import role from './metadataTypes/Role.js';
|
|
30
|
+
import script from './metadataTypes/Script.js';
|
|
31
|
+
import sendClassification from './metadataTypes/SendClassification.js';
|
|
32
|
+
import transactionalEmail from './metadataTypes/TransactionalEmail.js';
|
|
33
|
+
import transactionalPush from './metadataTypes/TransactionalPush.js';
|
|
34
|
+
import transactionalSMS from './metadataTypes/TransactionalSMS.js';
|
|
35
|
+
import triggeredSend from './metadataTypes/TriggeredSend.js';
|
|
36
|
+
import user from './metadataTypes/User.js';
|
|
37
|
+
import verification from './metadataTypes/Verification.js';
|
|
38
|
+
|
|
3
39
|
/**
|
|
4
40
|
* Provides access to all metadataType classes
|
|
5
41
|
*/
|
|
6
|
-
|
|
7
|
-
asset
|
|
8
|
-
attributeGroup
|
|
9
|
-
attributeSet
|
|
10
|
-
automation
|
|
11
|
-
campaign
|
|
12
|
-
contentArea
|
|
13
|
-
dataExtension
|
|
14
|
-
dataExtensionField
|
|
15
|
-
dataExtensionTemplate
|
|
16
|
-
dataExtract
|
|
17
|
-
dataExtractType
|
|
18
|
-
discovery
|
|
19
|
-
email
|
|
20
|
-
emailSend
|
|
21
|
-
event
|
|
22
|
-
fileLocation
|
|
23
|
-
fileTransfer
|
|
24
|
-
filter
|
|
25
|
-
folder
|
|
26
|
-
importFile
|
|
27
|
-
journey
|
|
28
|
-
list
|
|
29
|
-
mobileCode
|
|
30
|
-
mobileKeyword
|
|
31
|
-
mobileMessage
|
|
32
|
-
query
|
|
33
|
-
role
|
|
34
|
-
script
|
|
35
|
-
sendClassification
|
|
36
|
-
transactionalEmail
|
|
37
|
-
transactionalPush
|
|
38
|
-
transactionalSMS
|
|
39
|
-
triggeredSend
|
|
40
|
-
user
|
|
42
|
+
export default {
|
|
43
|
+
asset,
|
|
44
|
+
attributeGroup,
|
|
45
|
+
attributeSet,
|
|
46
|
+
automation,
|
|
47
|
+
campaign,
|
|
48
|
+
contentArea,
|
|
49
|
+
dataExtension,
|
|
50
|
+
dataExtensionField,
|
|
51
|
+
dataExtensionTemplate,
|
|
52
|
+
dataExtract,
|
|
53
|
+
dataExtractType,
|
|
54
|
+
discovery,
|
|
55
|
+
email,
|
|
56
|
+
emailSend,
|
|
57
|
+
event,
|
|
58
|
+
fileLocation,
|
|
59
|
+
fileTransfer,
|
|
60
|
+
filter,
|
|
61
|
+
folder,
|
|
62
|
+
importFile,
|
|
63
|
+
journey,
|
|
64
|
+
list,
|
|
65
|
+
mobileCode,
|
|
66
|
+
mobileKeyword,
|
|
67
|
+
mobileMessage,
|
|
68
|
+
query,
|
|
69
|
+
role,
|
|
70
|
+
script,
|
|
71
|
+
sendClassification,
|
|
72
|
+
transactionalEmail,
|
|
73
|
+
transactionalPush,
|
|
74
|
+
transactionalSMS,
|
|
75
|
+
triggeredSend,
|
|
76
|
+
user,
|
|
77
|
+
verification,
|
|
41
78
|
};
|
|
42
|
-
|
|
43
|
-
module.exports = MetadataTypeInfo;
|
package/lib/Retriever.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import TYPE from '../types/mcdev.d.js';
|
|
4
|
+
import MetadataTypeInfo from './MetadataTypeInfo.js';
|
|
5
|
+
import MetadataDefinitions from './MetadataTypeDefinitions.js';
|
|
6
|
+
import { Util } from './util/util.js';
|
|
7
|
+
import File from './util/file.js';
|
|
8
|
+
import cache from './util/cache.js';
|
|
9
|
+
import auth from './util/auth.js';
|
|
10
10
|
/**
|
|
11
11
|
* Retrieves metadata from a business unit and saves it to the local filesystem.
|
|
12
12
|
*/
|
|
@@ -210,4 +210,4 @@ class Retriever {
|
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
|
|
213
|
+
export default Retriever;
|
package/lib/cli.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* CLI entry for SFMC DevTools
|
|
6
5
|
*/
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
const yargs = require('yargs');
|
|
10
|
-
const Mcdev = require('./index');
|
|
7
|
+
import { Util } from './util/util.js';
|
|
11
8
|
|
|
12
|
-
yargs
|
|
9
|
+
import yargs from 'yargs';
|
|
10
|
+
import { hideBin } from 'yargs/helpers';
|
|
11
|
+
import Mcdev from './index.js';
|
|
12
|
+
yargs(hideBin(process.argv))
|
|
13
13
|
.scriptName('mcdev')
|
|
14
14
|
.usage('$0 <command> [options]')
|
|
15
15
|
.command({
|
|
@@ -45,7 +45,7 @@ yargs
|
|
|
45
45
|
},
|
|
46
46
|
})
|
|
47
47
|
.command({
|
|
48
|
-
command: 'deploy [BU] [TYPE] [KEY]
|
|
48
|
+
command: 'deploy [BU] [TYPE] [KEY]',
|
|
49
49
|
aliases: ['d'],
|
|
50
50
|
desc: 'deploys local metadata to a business unit',
|
|
51
51
|
builder: (yargs) => {
|
|
@@ -97,6 +97,11 @@ yargs
|
|
|
97
97
|
group: 'Options for deploy:',
|
|
98
98
|
describe:
|
|
99
99
|
'optionally start existing schedule instead of running item once immediately (only works for automations)',
|
|
100
|
+
})
|
|
101
|
+
.option('fixShared', {
|
|
102
|
+
group: 'Options for deploy:',
|
|
103
|
+
describe:
|
|
104
|
+
"optionally ensure that updates to shared DataExtensions become visible in child BU's data designer (SF Known issue W-11031095)",
|
|
100
105
|
});
|
|
101
106
|
},
|
|
102
107
|
handler: (argv) => {
|
|
@@ -595,7 +600,7 @@ yargs
|
|
|
595
600
|
.demandCommand(1, 'Please enter a valid command')
|
|
596
601
|
.strict()
|
|
597
602
|
.recommendCommands()
|
|
598
|
-
.wrap(yargs.terminalWidth())
|
|
603
|
+
.wrap(yargs(hideBin(process.argv)).terminalWidth())
|
|
599
604
|
.epilog(
|
|
600
605
|
'Copyright 2023. Accenture. Get support at https://github.com/Accenture/sfmc-devtools/issues'
|
|
601
606
|
)
|
package/lib/index.js
CHANGED
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
import TYPE from '../types/mcdev.d.js';
|
|
4
|
+
import { Util } from './util/util.js';
|
|
5
|
+
import auth from './util/auth.js';
|
|
6
|
+
import File from './util/file.js';
|
|
7
|
+
import config from './util/config.js';
|
|
8
|
+
import Init from './util/init.js';
|
|
9
|
+
import InitGit from './util/init.git.js';
|
|
10
|
+
import Cli from './util/cli.js';
|
|
11
|
+
import DevOps from './util/devops.js';
|
|
12
|
+
import BuHelper from './util/businessUnit.js';
|
|
13
|
+
import Builder from './Builder.js';
|
|
14
|
+
import Deployer from './Deployer.js';
|
|
15
|
+
import MetadataTypeInfo from './MetadataTypeInfo.js';
|
|
16
|
+
import MetadataTypeDefinitions from './MetadataTypeDefinitions.js';
|
|
17
|
+
import Retriever from './Retriever.js';
|
|
18
|
+
import cache from './util/cache.js';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* main class
|
|
22
22
|
*/
|
|
23
23
|
class Mcdev {
|
|
24
|
+
/**
|
|
25
|
+
* @returns {string} current version of mcdev
|
|
26
|
+
*/
|
|
27
|
+
static version() {
|
|
28
|
+
console.log('mcdev v' + Util.packageJsonMcdev.version); // eslint-disable-line no-console
|
|
29
|
+
return Util.packageJsonMcdev.version;
|
|
30
|
+
}
|
|
24
31
|
/**
|
|
25
32
|
* helper method to use unattended mode when including mcdev as a package
|
|
26
33
|
*
|
|
@@ -56,12 +63,14 @@ class Mcdev {
|
|
|
56
63
|
'commitHistory',
|
|
57
64
|
'execute',
|
|
58
65
|
'filter',
|
|
66
|
+
'fixShared',
|
|
59
67
|
'fromRetrieve',
|
|
60
68
|
'json',
|
|
61
69
|
'like',
|
|
62
70
|
'noLogColors',
|
|
63
71
|
'noLogFile',
|
|
64
72
|
'refresh',
|
|
73
|
+
'_runningTest',
|
|
65
74
|
'schedule',
|
|
66
75
|
'skipInteraction',
|
|
67
76
|
];
|
|
@@ -310,7 +319,8 @@ class Mcdev {
|
|
|
310
319
|
triggeredSend: 'triggeredSendDefinition',
|
|
311
320
|
user: 'accountUser',
|
|
312
321
|
};
|
|
313
|
-
Util.logger.info(
|
|
322
|
+
Util.logger.info('');
|
|
323
|
+
Util.logger.info(`:: Retrieving ${cred}/${bu}`);
|
|
314
324
|
const retrieveTypesArr = [];
|
|
315
325
|
if (selectedTypesArr) {
|
|
316
326
|
for (const selectedType of Array.isArray(selectedTypesArr)
|
|
@@ -1155,4 +1165,4 @@ class Mcdev {
|
|
|
1155
1165
|
}
|
|
1156
1166
|
}
|
|
1157
1167
|
|
|
1158
|
-
|
|
1168
|
+
export default Mcdev;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import MetadataType from './MetadataType.js';
|
|
4
|
+
import TYPE from '../../types/mcdev.d.js';
|
|
5
|
+
import { Util } from '../util/util.js';
|
|
6
|
+
import File from '../util/file.js';
|
|
7
|
+
import pLimit from 'p-limit';
|
|
8
|
+
import cliProgress from 'cli-progress';
|
|
9
|
+
import cache from '../util/cache.js';
|
|
10
|
+
import TriggeredSend from './TriggeredSend.js';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* FileTransfer MetadataType
|
|
@@ -539,7 +540,6 @@ class Asset extends MetadataType {
|
|
|
539
540
|
return;
|
|
540
541
|
}
|
|
541
542
|
// prep triggeredSendDefinition class
|
|
542
|
-
const TriggeredSend = require('./TriggeredSend');
|
|
543
543
|
TriggeredSend.properties = this.properties;
|
|
544
544
|
TriggeredSend.buObject = this.buObject;
|
|
545
545
|
TriggeredSend.client = this.client;
|
|
@@ -1632,6 +1632,8 @@ class Asset extends MetadataType {
|
|
|
1632
1632
|
}
|
|
1633
1633
|
|
|
1634
1634
|
// Assign definition to static attributes
|
|
1635
|
-
|
|
1635
|
+
import MetadataTypeDefinitions from '../MetadataTypeDefinitions.js';
|
|
1636
1636
|
|
|
1637
|
-
|
|
1637
|
+
Asset.definition = MetadataTypeDefinitions.asset;
|
|
1638
|
+
|
|
1639
|
+
export default Asset;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import MetadataType from './MetadataType.js';
|
|
4
|
+
import TYPE from '../../types/mcdev.d.js';
|
|
5
|
+
import { Util } from '../util/util.js';
|
|
6
|
+
import cache from '../util/cache.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* AttributeGroup MetadataType
|
|
@@ -111,6 +111,7 @@ class AttributeGroup extends MetadataType {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
// Assign definition to static attributes
|
|
114
|
-
|
|
114
|
+
import MetadataTypeDefinitions from '../MetadataTypeDefinitions.js';
|
|
115
|
+
AttributeGroup.definition = MetadataTypeDefinitions.attributeGroup;
|
|
115
116
|
|
|
116
|
-
|
|
117
|
+
export default AttributeGroup;
|