mcdev 7.1.3 → 7.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
- package/@types/lib/Builder.d.ts.map +1 -1
- package/@types/lib/Deployer.d.ts.map +1 -1
- package/@types/lib/cli.d.ts.map +1 -1
- package/@types/lib/index.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
- package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -1
- package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Automation.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -1
- package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Email.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
- package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Folder.d.ts.map +1 -1
- package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
- package/@types/lib/metadataTypes/List.d.ts.map +1 -1
- package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
- package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
- package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Query.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Role.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Script.d.ts.map +1 -1
- package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
- package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
- package/@types/lib/metadataTypes/User.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Verification.d.ts.map +1 -1
- package/@types/lib/util/auth.d.ts.map +1 -1
- package/@types/lib/util/cache.d.ts.map +1 -1
- package/@types/lib/util/cli.d.ts.map +1 -1
- package/@types/lib/util/config.d.ts.map +1 -1
- package/@types/lib/util/devops.d.ts.map +1 -1
- package/@types/lib/util/file.d.ts.map +1 -1
- package/@types/lib/util/init.config.d.ts.map +1 -1
- package/@types/lib/util/init.d.ts.map +1 -1
- package/@types/lib/util/init.git.d.ts.map +1 -1
- package/@types/lib/util/init.npm.d.ts.map +1 -1
- package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
- package/@types/lib/util/util.d.ts.map +1 -1
- package/@types/types/mcdev.d.d.ts.map +1 -1
- package/lib/Builder.js +4 -0
- package/lib/Deployer.js +2 -0
- package/lib/cli.js +1 -0
- package/lib/index.js +31 -0
- package/lib/metadataTypes/Asset.js +30 -0
- package/lib/metadataTypes/AttributeGroup.js +2 -0
- package/lib/metadataTypes/AttributeSet.js +3 -0
- package/lib/metadataTypes/Automation.js +15 -0
- package/lib/metadataTypes/Campaign.js +1 -0
- package/lib/metadataTypes/ContentArea.js +2 -0
- package/lib/metadataTypes/DataExtension.js +12 -0
- package/lib/metadataTypes/DataExtensionField.js +8 -0
- package/lib/metadataTypes/DataExtract.js +3 -0
- package/lib/metadataTypes/DataExtractType.js +1 -0
- package/lib/metadataTypes/Discovery.js +1 -0
- package/lib/metadataTypes/Email.js +2 -0
- package/lib/metadataTypes/Event.js +4 -0
- package/lib/metadataTypes/FileTransfer.js +1 -0
- package/lib/metadataTypes/Folder.js +14 -2
- package/lib/metadataTypes/ImportFile.js +2 -0
- package/lib/metadataTypes/Journey.js +8 -0
- package/lib/metadataTypes/List.js +2 -0
- package/lib/metadataTypes/MetadataType.js +34 -0
- package/lib/metadataTypes/MobileKeyword.js +8 -0
- package/lib/metadataTypes/MobileMessage.js +7 -0
- package/lib/metadataTypes/Query.js +9 -0
- package/lib/metadataTypes/Role.js +1 -0
- package/lib/metadataTypes/Script.js +7 -0
- package/lib/metadataTypes/SendClassification.js +2 -0
- package/lib/metadataTypes/SenderProfile.js +2 -0
- package/lib/metadataTypes/TransactionalEmail.js +3 -0
- package/lib/metadataTypes/TransactionalMessage.js +3 -0
- package/lib/metadataTypes/TransactionalPush.js +1 -0
- package/lib/metadataTypes/TransactionalSMS.js +8 -0
- package/lib/metadataTypes/TriggeredSend.js +4 -0
- package/lib/metadataTypes/User.js +10 -0
- package/lib/metadataTypes/Verification.js +3 -0
- package/lib/retrieveChangelog.js +1 -0
- package/lib/util/auth.js +3 -0
- package/lib/util/cache.js +8 -0
- package/lib/util/cli.js +8 -0
- package/lib/util/config.js +2 -0
- package/lib/util/devops.js +2 -0
- package/lib/util/file.js +12 -0
- package/lib/util/init.config.js +5 -0
- package/lib/util/init.git.js +4 -0
- package/lib/util/init.js +4 -0
- package/lib/util/init.npm.js +1 -0
- package/lib/util/replaceContentBlockReference.js +1 -0
- package/lib/util/util.js +29 -0
- package/package.json +6 -6
- package/test/mockRoot/.mcdevrc.json +1 -1
- package/test/resourceFactory.js +15 -1
- package/test/resources/9999999/dataFolder/+retrieve-QAA-response.xml +387 -0
- package/test/resources/9999999/dataFolder/create-ContentType=dataextension,Name=my,ParentFolderID=2-response.xml +33 -0
- package/test/resources/9999999/dataFolder/create-ContentType=dataextension,Name=path,ParentFolderID=862002-response.xml +33 -0
- package/test/resources/9999999/dataFolder/create-ContentType=dataextension,Name=sub,ParentFolderID=862001-response.xml +33 -0
- package/test/resources/9999999/dataFolder/create-ContentType=dataextension,Name=subpath,ParentFolderID=862003-response.xml +33 -0
- package/test/resources/9999999/email/v1/category/post-response-parentCatId=290937,name=my,catType=automations.json +7 -0
- package/test/resources/9999999/email/v1/category/post-response-parentCatId=862100,name=sub,catType=automations.json +7 -0
- package/test/resources/9999999/email/v1/category/post-response-parentCatId=862101,name=path,catType=automations.json +7 -0
- package/test/resources/9999999/email/v1/category/post-response-parentCatId=862102,name=subpath,catType=automations.json +7 -0
- package/test/resources/9999999/folder-deploy/Data Extensions/my/sub/path/subpath.folder-meta.json +9 -0
- package/test/resources/9999999/folder-deploy/Data Extensions/my/sub/path.folder-meta.json +9 -0
- package/test/resources/9999999/folder-deploy/Data Extensions/my/sub.folder-meta.json +9 -0
- package/test/resources/9999999/folder-deploy/Data Extensions/my.folder-meta.json +9 -0
- package/test/resources/9999999/folder-deploy/my automations/my/sub/path/subpath.folder-meta.json +9 -0
- package/test/resources/9999999/folder-deploy/my automations/my/sub/path.folder-meta.json +9 -0
- package/test/resources/9999999/folder-deploy/my automations/my/sub.folder-meta.json +9 -0
- package/test/resources/9999999/folder-deploy/my automations/my.folder-meta.json +9 -0
- package/test/type.asset.test.js +4 -0
- package/test/type.folder.test.js +97 -0
- package/test/utils.js +44 -5
- package/types/mcdev.d.js +27 -0
- /package/test/resources/9999999/dataFolder/{retrieve-response-.xml → +retrieve-response.xml} +0 -0
|
@@ -33,6 +33,7 @@ import cache from '../util/cache.js';
|
|
|
33
33
|
*/
|
|
34
34
|
class User extends MetadataType {
|
|
35
35
|
static userBUassignments;
|
|
36
|
+
|
|
36
37
|
/**
|
|
37
38
|
* Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
|
|
38
39
|
*
|
|
@@ -49,6 +50,7 @@ class User extends MetadataType {
|
|
|
49
50
|
}
|
|
50
51
|
return this._retrieve(retrieveDir, key);
|
|
51
52
|
}
|
|
53
|
+
|
|
52
54
|
/**
|
|
53
55
|
* Retrieves import definition metadata for caching
|
|
54
56
|
*
|
|
@@ -85,6 +87,7 @@ class User extends MetadataType {
|
|
|
85
87
|
}
|
|
86
88
|
return super.updateSOAP(metadata);
|
|
87
89
|
}
|
|
90
|
+
|
|
88
91
|
/**
|
|
89
92
|
* prepares a item for deployment
|
|
90
93
|
*
|
|
@@ -213,6 +216,7 @@ class User extends MetadataType {
|
|
|
213
216
|
|
|
214
217
|
return metadata;
|
|
215
218
|
}
|
|
219
|
+
|
|
216
220
|
/**
|
|
217
221
|
* helper for {@link MetadataType.upsert}
|
|
218
222
|
*
|
|
@@ -307,6 +311,7 @@ class User extends MetadataType {
|
|
|
307
311
|
await this._handleBuAssignments(upsertResults);
|
|
308
312
|
}
|
|
309
313
|
}
|
|
314
|
+
|
|
310
315
|
/**
|
|
311
316
|
* create/update business unit assignments
|
|
312
317
|
*
|
|
@@ -574,6 +579,7 @@ class User extends MetadataType {
|
|
|
574
579
|
static async retrieveChangelog() {
|
|
575
580
|
return this._retrieve();
|
|
576
581
|
}
|
|
582
|
+
|
|
577
583
|
/**
|
|
578
584
|
* Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
|
|
579
585
|
*
|
|
@@ -904,6 +910,7 @@ class User extends MetadataType {
|
|
|
904
910
|
}
|
|
905
911
|
return result + ' ' + interval;
|
|
906
912
|
}
|
|
913
|
+
|
|
907
914
|
/**
|
|
908
915
|
* helper to print bu names
|
|
909
916
|
*
|
|
@@ -929,6 +936,7 @@ class User extends MetadataType {
|
|
|
929
936
|
}
|
|
930
937
|
}
|
|
931
938
|
}
|
|
939
|
+
|
|
932
940
|
/**
|
|
933
941
|
* helper for {@link User.createOrUpdate} to generate a random initial password for new users
|
|
934
942
|
* note: possible minimum length values in SFMC are 6, 8, 10, 15 chars. Therefore we should default here to 15 chars.
|
|
@@ -957,6 +965,7 @@ class User extends MetadataType {
|
|
|
957
965
|
);
|
|
958
966
|
return retVal;
|
|
959
967
|
}
|
|
968
|
+
|
|
960
969
|
/**
|
|
961
970
|
* Creates markdown documentation of all roles
|
|
962
971
|
*
|
|
@@ -1100,6 +1109,7 @@ class User extends MetadataType {
|
|
|
1100
1109
|
Util.logger.error(`user.document():: error | `, ex.message);
|
|
1101
1110
|
}
|
|
1102
1111
|
}
|
|
1112
|
+
|
|
1103
1113
|
/**
|
|
1104
1114
|
*
|
|
1105
1115
|
* @private
|
|
@@ -107,6 +107,7 @@ class Verification extends MetadataType {
|
|
|
107
107
|
type: this.definition.type,
|
|
108
108
|
};
|
|
109
109
|
}
|
|
110
|
+
|
|
110
111
|
/**
|
|
111
112
|
* helper for {@link this.retrieveRESTcollection}
|
|
112
113
|
*
|
|
@@ -208,6 +209,7 @@ class Verification extends MetadataType {
|
|
|
208
209
|
delete metadata.r__dataExtension_key;
|
|
209
210
|
return metadata;
|
|
210
211
|
}
|
|
212
|
+
|
|
211
213
|
/**
|
|
212
214
|
* parses retrieved Metadata before saving
|
|
213
215
|
*
|
|
@@ -230,6 +232,7 @@ class Verification extends MetadataType {
|
|
|
230
232
|
}
|
|
231
233
|
return metadata;
|
|
232
234
|
}
|
|
235
|
+
|
|
233
236
|
/**
|
|
234
237
|
* Delete a metadata item from the specified business unit
|
|
235
238
|
*
|
package/lib/retrieveChangelog.js
CHANGED
package/lib/util/auth.js
CHANGED
|
@@ -68,6 +68,7 @@ const Auth = {
|
|
|
68
68
|
throw new Error(ex.message);
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
|
+
|
|
71
72
|
/**
|
|
72
73
|
* Returns an SDK instance to be used for API calls
|
|
73
74
|
*
|
|
@@ -93,6 +94,7 @@ const Auth = {
|
|
|
93
94
|
return initializedSDKs[credentialKey];
|
|
94
95
|
}
|
|
95
96
|
},
|
|
97
|
+
|
|
96
98
|
/**
|
|
97
99
|
* helper to clear all auth sessions
|
|
98
100
|
*
|
|
@@ -103,6 +105,7 @@ const Auth = {
|
|
|
103
105
|
Util.logger.info(`Auth sessions cleared`);
|
|
104
106
|
},
|
|
105
107
|
};
|
|
108
|
+
|
|
106
109
|
/**
|
|
107
110
|
* Returns an SDK instance to be used for API calls
|
|
108
111
|
*
|
package/lib/util/cache.js
CHANGED
|
@@ -47,6 +47,7 @@ export default {
|
|
|
47
47
|
throw new Error('Business Unit (buObject) used when initialzing cache was missing MID');
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
+
|
|
50
51
|
/**
|
|
51
52
|
* return entire cache for current MID
|
|
52
53
|
*
|
|
@@ -55,6 +56,7 @@ export default {
|
|
|
55
56
|
getCache: () => dataStore[currentMID],
|
|
56
57
|
|
|
57
58
|
/* eslint-disable unicorn/no-array-for-each */
|
|
59
|
+
|
|
58
60
|
/**
|
|
59
61
|
* clean cache for one BU if mid provided, otherwise whole cache
|
|
60
62
|
*
|
|
@@ -75,6 +77,7 @@ export default {
|
|
|
75
77
|
* @returns {MetadataTypeItem} cached metadata item
|
|
76
78
|
*/
|
|
77
79
|
getByKey: (type, key) => dataStore[currentMID]?.[type]?.[key],
|
|
80
|
+
|
|
78
81
|
/**
|
|
79
82
|
* override cache for given metadata type with new data
|
|
80
83
|
*
|
|
@@ -85,6 +88,7 @@ export default {
|
|
|
85
88
|
setMetadata: (type, metadataMap) => {
|
|
86
89
|
dataStore[currentMID][type] = metadataMap;
|
|
87
90
|
},
|
|
91
|
+
|
|
88
92
|
/**
|
|
89
93
|
* merges entire metadata type with existing cache
|
|
90
94
|
*
|
|
@@ -104,6 +108,7 @@ export default {
|
|
|
104
108
|
// merge metadataMap into existing cache
|
|
105
109
|
Object.assign(dataStore[overrideMID || currentMID][type] || {}, metadataMap);
|
|
106
110
|
},
|
|
111
|
+
|
|
107
112
|
/**
|
|
108
113
|
* standardized method for getting data from cache.
|
|
109
114
|
*
|
|
@@ -147,6 +152,7 @@ export default {
|
|
|
147
152
|
`Dependent ${metadataType} with ${searchField}='${searchValue}' was not found on your BU`
|
|
148
153
|
);
|
|
149
154
|
},
|
|
155
|
+
|
|
150
156
|
/**
|
|
151
157
|
* helper for setFolderId
|
|
152
158
|
*
|
|
@@ -180,6 +186,7 @@ export default {
|
|
|
180
186
|
throw new Error(`No folders found with path ${r__folder_Path}`);
|
|
181
187
|
}
|
|
182
188
|
},
|
|
189
|
+
|
|
183
190
|
/**
|
|
184
191
|
* standardized method for getting data from cache - adapted for special case of lists
|
|
185
192
|
* ! keeping this in util/cache.js rather than in metadataTypes/List.js to avoid potential circular dependencies
|
|
@@ -217,6 +224,7 @@ export default {
|
|
|
217
224
|
`Dependent list with ${searchField}='${searchValue}' was not found on your BU`
|
|
218
225
|
);
|
|
219
226
|
},
|
|
227
|
+
|
|
220
228
|
/**
|
|
221
229
|
* standardized method for getting data from cache - adapted for special case of lists
|
|
222
230
|
* ! keeping this in util/cache.js rather than in metadataTypes/List.js to avoid potential circular dependencies
|
package/lib/util/cli.js
CHANGED
|
@@ -52,6 +52,7 @@ const Cli = {
|
|
|
52
52
|
// wait for the interaction to finish or else an outer await will run before this is done
|
|
53
53
|
return this._setCredential(propertiesTemplate, null);
|
|
54
54
|
},
|
|
55
|
+
|
|
55
56
|
/**
|
|
56
57
|
* Extends template file for properties.json
|
|
57
58
|
*
|
|
@@ -106,6 +107,7 @@ const Cli = {
|
|
|
106
107
|
return fixKeysReretrieve;
|
|
107
108
|
}
|
|
108
109
|
},
|
|
110
|
+
|
|
109
111
|
/**
|
|
110
112
|
* helper that logs to cli which credentials are already existing in our config file
|
|
111
113
|
*
|
|
@@ -120,6 +122,7 @@ const Cli = {
|
|
|
120
122
|
}
|
|
121
123
|
}
|
|
122
124
|
},
|
|
125
|
+
|
|
123
126
|
/**
|
|
124
127
|
* Extends template file for properties.json
|
|
125
128
|
* update credentials
|
|
@@ -138,6 +141,7 @@ const Cli = {
|
|
|
138
141
|
return await this._setCredential(properties, credName, refreshBUs);
|
|
139
142
|
}
|
|
140
143
|
},
|
|
144
|
+
|
|
141
145
|
/**
|
|
142
146
|
* Returns Object with parameters required for accessing API
|
|
143
147
|
*
|
|
@@ -217,6 +221,7 @@ const Cli = {
|
|
|
217
221
|
return null;
|
|
218
222
|
}
|
|
219
223
|
},
|
|
224
|
+
|
|
220
225
|
/**
|
|
221
226
|
* helps select the right credential in case of bad initial input
|
|
222
227
|
*
|
|
@@ -287,6 +292,7 @@ const Cli = {
|
|
|
287
292
|
}
|
|
288
293
|
return answer;
|
|
289
294
|
},
|
|
295
|
+
|
|
290
296
|
/**
|
|
291
297
|
* helper around _askCredentials
|
|
292
298
|
*
|
|
@@ -435,6 +441,7 @@ const Cli = {
|
|
|
435
441
|
|
|
436
442
|
return responses;
|
|
437
443
|
},
|
|
444
|
+
|
|
438
445
|
/**
|
|
439
446
|
* allows updating the metadata types that shall be retrieved
|
|
440
447
|
*
|
|
@@ -537,6 +544,7 @@ const Cli = {
|
|
|
537
544
|
await File.saveConfigFile(properties);
|
|
538
545
|
}
|
|
539
546
|
},
|
|
547
|
+
|
|
540
548
|
/**
|
|
541
549
|
* helper for {@link Cli.selectTypes} that converts subtypes back to main type if all and only defaults were selected
|
|
542
550
|
* this keeps the config automatically upgradable when we add new subtypes or change what is selected by default
|
package/lib/util/config.js
CHANGED
|
@@ -97,6 +97,7 @@ const config = {
|
|
|
97
97
|
}
|
|
98
98
|
return config.properties;
|
|
99
99
|
},
|
|
100
|
+
|
|
100
101
|
/**
|
|
101
102
|
* check if the config file is correctly formatted and has values
|
|
102
103
|
*
|
|
@@ -292,6 +293,7 @@ const config = {
|
|
|
292
293
|
}
|
|
293
294
|
}
|
|
294
295
|
},
|
|
296
|
+
|
|
295
297
|
/**
|
|
296
298
|
* defines how the properties.json should look like
|
|
297
299
|
* used for creating a template and for checking if variables are set
|
package/lib/util/devops.js
CHANGED
|
@@ -358,6 +358,7 @@ const DevOps = {
|
|
|
358
358
|
}
|
|
359
359
|
return delta;
|
|
360
360
|
},
|
|
361
|
+
|
|
361
362
|
/**
|
|
362
363
|
* wrapper around DevOps.getDeltaList, Builder.buildTemplate and M
|
|
363
364
|
*
|
|
@@ -574,6 +575,7 @@ const DevOps = {
|
|
|
574
575
|
Util.logger.error(`DevOps.document():: error | ` + ex.message);
|
|
575
576
|
}
|
|
576
577
|
},
|
|
578
|
+
|
|
577
579
|
/**
|
|
578
580
|
* should return only the json for all but asset, query and script that are saved as multiple files
|
|
579
581
|
* additionally, the documentation for dataExtension and automation should be returned
|
package/lib/util/file.js
CHANGED
|
@@ -41,6 +41,7 @@ notifier.notify();
|
|
|
41
41
|
const File = {
|
|
42
42
|
prettierConfig: null,
|
|
43
43
|
prettierConfigFileType: null,
|
|
44
|
+
|
|
44
45
|
/**
|
|
45
46
|
* copies a file from one path to another
|
|
46
47
|
*
|
|
@@ -63,6 +64,7 @@ const File = {
|
|
|
63
64
|
: { status: 'failed', statusMessage: ex.message, file: from };
|
|
64
65
|
}
|
|
65
66
|
},
|
|
67
|
+
|
|
66
68
|
/**
|
|
67
69
|
* makes sure Windows accepts path names
|
|
68
70
|
*
|
|
@@ -158,6 +160,7 @@ const File = {
|
|
|
158
160
|
}
|
|
159
161
|
/* eslint-enable unicorn/prefer-ternary */
|
|
160
162
|
},
|
|
163
|
+
|
|
161
164
|
/**
|
|
162
165
|
* Saves json content to a file in the local file system. Will create the parent directory if it does not exist
|
|
163
166
|
*
|
|
@@ -176,6 +179,7 @@ const File = {
|
|
|
176
179
|
Util.logger.error('File.writeJSONToFile:: error | ' + ex.message);
|
|
177
180
|
}
|
|
178
181
|
},
|
|
182
|
+
|
|
179
183
|
/**
|
|
180
184
|
* Saves beautified files in the local file system. Will create the parent directory if it does not exist
|
|
181
185
|
* ! Important: run 'await File.initPrettier()' in your MetadataType.retrieve() once before hitting this
|
|
@@ -197,6 +201,7 @@ const File = {
|
|
|
197
201
|
}
|
|
198
202
|
return this.writeToFile(directory, filename, filetype, formatted);
|
|
199
203
|
},
|
|
204
|
+
|
|
200
205
|
/**
|
|
201
206
|
* helper that applies beautyAmp onto given stringified content; strongly typed for strings only
|
|
202
207
|
*
|
|
@@ -212,6 +217,7 @@ const File = {
|
|
|
212
217
|
throw new TypeError('beautyAmp failed to beautify the content');
|
|
213
218
|
}
|
|
214
219
|
},
|
|
220
|
+
|
|
215
221
|
/**
|
|
216
222
|
* helper for {@link File.writePrettyToFile}, applying beautyAmp onto given stringified content
|
|
217
223
|
*
|
|
@@ -232,6 +238,7 @@ const File = {
|
|
|
232
238
|
return content;
|
|
233
239
|
}
|
|
234
240
|
},
|
|
241
|
+
|
|
235
242
|
/**
|
|
236
243
|
* helper for {@link File.writePrettyToFile}, applying prettier onto given stringified content
|
|
237
244
|
* ! Important: run 'await File.initPrettier()' in your MetadataType.retrieve() once before hitting this
|
|
@@ -326,6 +333,7 @@ const File = {
|
|
|
326
333
|
|
|
327
334
|
return formatted;
|
|
328
335
|
},
|
|
336
|
+
|
|
329
337
|
/**
|
|
330
338
|
* Saves text content to a file in the local file system. Will create the parent directory if it does not exist
|
|
331
339
|
*
|
|
@@ -385,6 +393,7 @@ const File = {
|
|
|
385
393
|
Util.logger.error('File.readJSONFile:: error | ' + ex.message);
|
|
386
394
|
}
|
|
387
395
|
},
|
|
396
|
+
|
|
388
397
|
/**
|
|
389
398
|
* reads file from local file system.
|
|
390
399
|
*
|
|
@@ -405,6 +414,7 @@ const File = {
|
|
|
405
414
|
}
|
|
406
415
|
return;
|
|
407
416
|
},
|
|
417
|
+
|
|
408
418
|
/**
|
|
409
419
|
* reads directories to a specific depth returning an array
|
|
410
420
|
* of file paths to be iterated over
|
|
@@ -512,6 +522,7 @@ const File = {
|
|
|
512
522
|
Util.logger.debug(ex.stack);
|
|
513
523
|
}
|
|
514
524
|
},
|
|
525
|
+
|
|
515
526
|
/**
|
|
516
527
|
* helper that splits the config back into auth & config parts to save them separately
|
|
517
528
|
*
|
|
@@ -525,6 +536,7 @@ const File = {
|
|
|
525
536
|
await this.writeJSONToFile('', Util.configFileName.split('.json')[0], properties);
|
|
526
537
|
Util.logger.info(`✔️ ${Util.configFileName} and ${Util.authFileName} saved successfully`);
|
|
527
538
|
},
|
|
539
|
+
|
|
528
540
|
/**
|
|
529
541
|
* Initalises Prettier formatting lib async.
|
|
530
542
|
*
|
package/lib/util/init.config.js
CHANGED
|
@@ -301,6 +301,7 @@ const Init = {
|
|
|
301
301
|
return true;
|
|
302
302
|
}
|
|
303
303
|
},
|
|
304
|
+
|
|
304
305
|
/**
|
|
305
306
|
* recursive helper for {@link Init.fixMcdevConfig} that adds missing settings
|
|
306
307
|
*
|
|
@@ -326,6 +327,7 @@ const Init = {
|
|
|
326
327
|
propertiersCur[fieldName] = defaultPropsCur[fieldName];
|
|
327
328
|
}
|
|
328
329
|
},
|
|
330
|
+
|
|
329
331
|
/**
|
|
330
332
|
* returns list of files that need to be updated
|
|
331
333
|
*
|
|
@@ -362,6 +364,7 @@ const Init = {
|
|
|
362
364
|
|
|
363
365
|
return { updates, deletes };
|
|
364
366
|
},
|
|
367
|
+
|
|
365
368
|
/**
|
|
366
369
|
* handles creation/update of one config file from the boilerplate at a time
|
|
367
370
|
*
|
|
@@ -451,6 +454,7 @@ const Init = {
|
|
|
451
454
|
return true;
|
|
452
455
|
}
|
|
453
456
|
},
|
|
457
|
+
|
|
454
458
|
/**
|
|
455
459
|
* handles deletion of no longer needed config files
|
|
456
460
|
*
|
|
@@ -470,6 +474,7 @@ const Init = {
|
|
|
470
474
|
}
|
|
471
475
|
return true;
|
|
472
476
|
},
|
|
477
|
+
|
|
473
478
|
/**
|
|
474
479
|
* helper method for this.upgradeProject that upgrades project config if needed
|
|
475
480
|
*
|
package/lib/util/init.git.js
CHANGED
|
@@ -75,6 +75,7 @@ const Init = {
|
|
|
75
75
|
result.status = newRepoInitialized ? 'init' : 'update';
|
|
76
76
|
return result;
|
|
77
77
|
},
|
|
78
|
+
|
|
78
79
|
/**
|
|
79
80
|
* offer to push the new repo straight to the server
|
|
80
81
|
*
|
|
@@ -117,6 +118,7 @@ const Init = {
|
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
},
|
|
121
|
+
|
|
120
122
|
/**
|
|
121
123
|
* offers to add the git remote origin
|
|
122
124
|
*
|
|
@@ -164,6 +166,7 @@ const Init = {
|
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
168
|
},
|
|
169
|
+
|
|
167
170
|
/**
|
|
168
171
|
* checks global config and ask to config the user info and then store it locally
|
|
169
172
|
*
|
|
@@ -233,6 +236,7 @@ const Init = {
|
|
|
233
236
|
}
|
|
234
237
|
}
|
|
235
238
|
},
|
|
239
|
+
|
|
236
240
|
/**
|
|
237
241
|
* retrieves the global user.name and user.email values
|
|
238
242
|
*
|
package/lib/util/init.js
CHANGED
|
@@ -282,6 +282,7 @@ const Init = {
|
|
|
282
282
|
return;
|
|
283
283
|
}
|
|
284
284
|
},
|
|
285
|
+
|
|
285
286
|
/**
|
|
286
287
|
* helper for @initProject that optionally creates markets and market lists for all BUs
|
|
287
288
|
*/
|
|
@@ -337,6 +338,7 @@ const Init = {
|
|
|
337
338
|
}
|
|
338
339
|
await File.saveConfigFile(properties);
|
|
339
340
|
},
|
|
341
|
+
|
|
340
342
|
/**
|
|
341
343
|
* helper for {@link Init.initProject}
|
|
342
344
|
*
|
|
@@ -373,6 +375,7 @@ const Init = {
|
|
|
373
375
|
}
|
|
374
376
|
}
|
|
375
377
|
},
|
|
378
|
+
|
|
376
379
|
/**
|
|
377
380
|
* wrapper around npm dependency & configuration file setup
|
|
378
381
|
*
|
|
@@ -419,6 +422,7 @@ const Init = {
|
|
|
419
422
|
|
|
420
423
|
return true;
|
|
421
424
|
},
|
|
425
|
+
|
|
422
426
|
/**
|
|
423
427
|
* check if git repo is being saved on a cloud service and warn the user
|
|
424
428
|
*
|
package/lib/util/init.npm.js
CHANGED