mcdev 3.0.3 → 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.eslintrc.json +1 -1
  2. package/.github/ISSUE_TEMPLATE/bug.yml +75 -0
  3. package/.github/ISSUE_TEMPLATE/task.md +1 -1
  4. package/.issuetracker +11 -3
  5. package/.vscode/settings.json +3 -3
  6. package/CHANGELOG.md +66 -0
  7. package/README.md +245 -141
  8. package/boilerplate/config.json +3 -2
  9. package/docs/dist/documentation.md +799 -338
  10. package/lib/Deployer.js +4 -1
  11. package/lib/MetadataTypeDefinitions.js +1 -0
  12. package/lib/MetadataTypeInfo.js +1 -0
  13. package/lib/Retriever.js +30 -14
  14. package/lib/cli.js +298 -0
  15. package/lib/index.js +773 -1019
  16. package/lib/metadataTypes/AccountUser.js +389 -0
  17. package/lib/metadataTypes/Asset.js +8 -7
  18. package/lib/metadataTypes/Automation.js +121 -56
  19. package/lib/metadataTypes/DataExtension.js +133 -97
  20. package/lib/metadataTypes/DataExtensionField.js +134 -4
  21. package/lib/metadataTypes/DataExtract.js +9 -5
  22. package/lib/metadataTypes/EventDefinition.js +9 -5
  23. package/lib/metadataTypes/FileTransfer.js +9 -5
  24. package/lib/metadataTypes/ImportFile.js +13 -12
  25. package/lib/metadataTypes/MetadataType.js +41 -33
  26. package/lib/metadataTypes/Query.js +2 -3
  27. package/lib/metadataTypes/Role.js +13 -8
  28. package/lib/metadataTypes/Script.js +2 -2
  29. package/lib/metadataTypes/definitions/AccountUser.definition.js +227 -0
  30. package/lib/metadataTypes/definitions/Asset.definition.js +1 -0
  31. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -1
  32. package/lib/metadataTypes/definitions/ImportFile.definition.js +2 -1
  33. package/lib/metadataTypes/definitions/Script.definition.js +5 -5
  34. package/lib/retrieveChangelog.js +96 -0
  35. package/lib/util/cli.js +4 -6
  36. package/lib/util/init.git.js +2 -1
  37. package/lib/util/util.js +17 -0
  38. package/package.json +18 -22
  39. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  40. package/img/README.md/troubleshoot-nodejs-postinstall.jpg +0 -0
  41. package/postinstall.js +0 -41
package/.eslintrc.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "SharedArrayBuffer": "readonly"
12
12
  },
13
13
  "parserOptions": {
14
- "ecmaVersion": 2018,
14
+ "ecmaVersion": 2020,
15
15
  "sourceType": "module"
16
16
  },
17
17
  "rules": {
@@ -0,0 +1,75 @@
1
+ name: 🐞 Bug
2
+ description: File a bug/issue
3
+ title: "[BUG] <title>"
4
+ labels: [bug, NEW]
5
+ body:
6
+ - type: checkboxes
7
+ attributes:
8
+ label: Is there an existing issue for this?
9
+ description: Please [search here](https://github.com/Accenture/sfmc-devtools/issues) to see if an issue already exists for your problem.
10
+ options:
11
+ - label: I have searched the existing issues
12
+ required: true
13
+ - type: textarea
14
+ attributes:
15
+ label: Current Behavior
16
+ description: A clear & concise description of what you're experiencing.
17
+ validations:
18
+ required: false
19
+ - type: textarea
20
+ attributes:
21
+ label: Expected Behavior
22
+ description: A clear & concise description of what you expected to happen.
23
+ validations:
24
+ required: false
25
+ - type: textarea
26
+ attributes:
27
+ label: Steps To Reproduce
28
+ description: Steps to reproduce the behavior.
29
+ value: |
30
+ 1. Go to '...'
31
+ 2. Click on '....'
32
+ 3. Run '...'
33
+ 4. See error...
34
+ validations:
35
+ required: false
36
+ - type: dropdown
37
+ id: version
38
+ attributes:
39
+ label: Version
40
+ description: What version of our software are you running? (mcdev --version)
41
+ options:
42
+ - 3.2.0
43
+ - 3.1.2
44
+ - 3.1.1
45
+ - 3.1.0
46
+ - 3.0.3
47
+ - 3.0.2
48
+ - 3.0.1
49
+ - develop-branch
50
+ validations:
51
+ required: true
52
+ - type: textarea
53
+ attributes:
54
+ label: Environment
55
+ description: |
56
+ examples:
57
+ - **Operating system (Windows/Mac/Linux/...)**: Windows 10
58
+ - **Node (node --version)**: 13.14.0
59
+ - **npm (npm --version)**: 7.6.3
60
+ value: |
61
+ - OS:
62
+ - Node:
63
+ - npm:
64
+ validations:
65
+ required: false
66
+ - type: checkboxes
67
+ attributes:
68
+ label: Participation
69
+ options:
70
+ - label: I am willing to submit a pull request for this issue.
71
+ required: false
72
+ - type: textarea
73
+ attributes:
74
+ label: Additional comments
75
+ description: Is there anything else that's important for the team to know?
@@ -2,7 +2,7 @@
2
2
  name: Task
3
3
  about: Technical improvements without functional impact / changes to the Documentation
4
4
  title: "[TASK] "
5
- labels: NEW, chores
5
+ labels: NEW, chore
6
6
  assignees: ''
7
7
 
8
8
  ---
package/.issuetracker CHANGED
@@ -2,6 +2,14 @@
2
2
  #
3
3
  # (note that '\' need to be escaped).
4
4
 
5
- [issuetracker "Jira Rule"]
6
- regex = "CSCLSROZ-(\\d+)"
7
- url = "https://alm.accenture.com/jira/browse/CSCLSROZ-$1"
5
+ [issuetracker "Accenture Jira Rule"]
6
+ regex = "(CSCLSROZ)-(\\d+)"
7
+ url = "https://alm.accenture.com/jira/browse/$1-$2"
8
+
9
+ [issuetracker "GitHub Pull Request Rule"]
10
+ regex = "pull request #(\\d+)"
11
+ url = "https://github.com/Accenture/sfmc-devtools/pull/$1"
12
+
13
+ [issuetracker "GitHub Issue Rule"]
14
+ regex = "#(\\d+)"
15
+ url = "https://github.com/Accenture/sfmc-devtools/issues/$1"
@@ -12,9 +12,10 @@
12
12
  "javascript.validate.enable": false,
13
13
  "markdown.extension.italic.indicator": "_",
14
14
  "markdown.extension.list.indentationSize": "adaptive",
15
- "markdown.extension.tableFormatter.enabled": false,
16
15
  "markdown.extension.toc.levels": "2..6",
17
16
  "markdown.extension.toc.orderedList": false,
17
+ "markdown.extension.toc.slugifyMode": "github",
18
+ "markdown.extension.tableFormatter.enabled": false,
18
19
  "sql-formatter.indent": " ",
19
20
  "sql-formatter.uppercase": true,
20
21
  "[html]": {
@@ -30,14 +31,13 @@
30
31
  "editor.defaultFormatter": "esbenp.prettier-vscode"
31
32
  },
32
33
  "[markdown]": {
33
- "editor.defaultFormatter": "esbenp.prettier-vscode"
34
+ "editor.defaultFormatter": "yzhang.markdown-all-in-one"
34
35
  },
35
36
  "[typescript]": {
36
37
  "editor.defaultFormatter": "esbenp.prettier-vscode"
37
38
  },
38
39
  "markdown-toc.orderedList": true,
39
40
  "markdown-toc.insertAnchor": true,
40
- "markdown-toc.anchorMode": "gitlab.com",
41
41
  "outline.showProperties": false,
42
42
  "outline.showVariables": false,
43
43
  "breadcrumbs.showVariables": false,
package/CHANGELOG.md CHANGED
@@ -4,6 +4,72 @@ Accenture SFMC DevTools follows [semantic versioning](https://semver.org/).
4
4
 
5
5
  ---
6
6
 
7
+ ## [3.1.1](https://github.com/Accenture/sfmc-devtools/compare/v3.1.0...v3.1.1) - 2022-01-10
8
+
9
+ **Bugfixes:**
10
+
11
+ - [#160](https://github.com/Accenture/sfmc-devtools/issues/160) mcdev outputs bogus text since dependency colorjs got corrupted ( [background story](https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected))
12
+
13
+ **Chores:**
14
+
15
+ - bumped cli-progress to 3.10.0 (removes colors dependency)
16
+ - bumped winston to 3.3.4 (removes colors dependency)
17
+
18
+ ---
19
+
20
+ ## [3.1.0](https://github.com/Accenture/sfmc-devtools/compare/v3.0.3...v3.1.0) - 2021-12-27
21
+
22
+ **Features:**
23
+
24
+ - [#55](https://github.com/Accenture/sfmc-devtools/issues/55) added user / roles documentation
25
+ - [#64](https://github.com/Accenture/sfmc-devtools/issues/64) Added `accountUser` (system users) support (retrieve)
26
+ - [#103](https://github.com/Accenture/sfmc-devtools/issues/103) Add rename `dataExtensionField` option (via Name_new)
27
+ - [#130](https://github.com/Accenture/sfmc-devtools/issues/130) offer `retrieveChangelog` option to other node packages including mcdev (see [retrieveChangelog.js](/lib/retrieveChangelog.js) for a how-to)
28
+ - [#133](https://github.com/Accenture/sfmc-devtools/issues/133) `dataExtensionField` validation during DE update (see [README](README.md#722-addingupdating-fields-on-existing-data-extensions) for details)
29
+ - [#136](https://github.com/Accenture/sfmc-devtools/issues/136) enable including mcdev in other node packages (see [README](README.md#26-using-mcdev-in-other-node-packages) for a how-to)
30
+ - [#144](https://github.com/Accenture/sfmc-devtools/issues/144) added file type .ai to `asset` - thanks to @fbellgr
31
+
32
+ **Bugfixes:**
33
+
34
+ - [#112](https://github.com/Accenture/sfmc-devtools/issues/112) add (unknown) new type 783 to defintion of `importFile`
35
+ - [#117](https://github.com/Accenture/sfmc-devtools/issues/117) `queries` not deployable when target is `shared DE`
36
+ - [#118](https://github.com/Accenture/sfmc-devtools/issues/118) `automation` start not auto-retried during deploy
37
+ - [#119](https://github.com/Accenture/sfmc-devtools/issues/119) fixed `list` dependency for importFile
38
+ - [#122](https://github.com/Accenture/sfmc-devtools/issues/122) ECONNRESET on caching metadata during deploy
39
+ - [#128](https://github.com/Accenture/sfmc-devtools/issues/128) `dataExtension` json not equal for retrieve/deploy
40
+ - [#129](https://github.com/Accenture/sfmc-devtools/issues/129) `script` json not equal for retrieve/deploy
41
+ - [#140](https://github.com/Accenture/sfmc-devtools/issues/140) avoid issues when retrieving `dataExtensions` that do not have a folder ID (edge case) - thanks to @fbellgr
42
+ - [#144](https://github.com/Accenture/sfmc-devtools/issues/144) improved handling high volumes of `asset` - thanks to @fbellgr
43
+ - [#149](https://github.com/Accenture/sfmc-devtools/issues/149) handle errors on upsert of data extensions gracefully
44
+
45
+ **Chores:**
46
+
47
+ - [#5](https://github.com/Accenture/sfmc-devtools/issues/5) removed postinstall msg after npm 7 dropped support for that
48
+ - [#127](https://github.com/Accenture/sfmc-devtools/issues/127) bad message "info: updated automation: undefined"
49
+ - [#132](https://github.com/Accenture/sfmc-devtools/issues/132) `dataExtension.SendableSubscriberField.Name` now has a slightly more readable value
50
+ - [#137](https://github.com/Accenture/sfmc-devtools/issues/137) docs for installing a specific version were incorrect
51
+ - [#138](https://github.com/Accenture/sfmc-devtools/issues/138) make issues and pull requests clickable in gitfork
52
+ - change `mcdev document` to take the cred/BU first and then the type to align it with other commands
53
+ - improved error handling of `document role` command
54
+ - bumped cli-progress to 3.9.1
55
+ - bumped eslint to 8.4.1
56
+ - bumped eslint-plugin-mocha to 10.0.1
57
+ - bumped eslint-plugin-prettier to 4.0.0
58
+ - bumped fs-extra to 10.0.0
59
+ - bumped husky to 7.0.4
60
+ - bumped inquirer to 8.2.0
61
+ - bumped jsdoc-to-markdown to 7.1.0
62
+ - bumped lint-staged to 12.1.2
63
+ - bumped mocha to 9.1.3
64
+ - bumped mustache to 4.2.0
65
+ - bumped prettier to 2.5.1
66
+ - bumped semver to 7.3.5
67
+ - bumped simple-git to 2.48.0
68
+ - bumped yargs to 17.3.0
69
+ - [#146](https://github.com/Accenture/sfmc-devtools/issues/146) remove AccountUser retrieve as a default retrieve option
70
+
71
+ ---
72
+
7
73
  ## [3.0.3](https://github.com/Accenture/sfmc-devtools/compare/v3.0.2...v3.0.3) - 2021-08-11
8
74
 
9
75
  **Bugfixes:**