mcdev 3.0.3 → 3.1.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.
Files changed (36) hide show
  1. package/.eslintrc.json +1 -1
  2. package/.github/ISSUE_TEMPLATE/bug.yml +72 -0
  3. package/.issuetracker +11 -3
  4. package/.vscode/settings.json +3 -3
  5. package/CHANGELOG.md +53 -0
  6. package/README.md +245 -141
  7. package/boilerplate/config.json +3 -2
  8. package/docs/dist/documentation.md +783 -322
  9. package/lib/Deployer.js +4 -1
  10. package/lib/MetadataTypeDefinitions.js +1 -0
  11. package/lib/MetadataTypeInfo.js +1 -0
  12. package/lib/Retriever.js +30 -14
  13. package/lib/cli.js +295 -0
  14. package/lib/index.js +774 -1019
  15. package/lib/metadataTypes/AccountUser.js +389 -0
  16. package/lib/metadataTypes/Asset.js +8 -7
  17. package/lib/metadataTypes/Automation.js +115 -52
  18. package/lib/metadataTypes/DataExtension.js +125 -89
  19. package/lib/metadataTypes/DataExtensionField.js +134 -4
  20. package/lib/metadataTypes/ImportFile.js +4 -6
  21. package/lib/metadataTypes/MetadataType.js +19 -5
  22. package/lib/metadataTypes/Query.js +2 -3
  23. package/lib/metadataTypes/Role.js +13 -8
  24. package/lib/metadataTypes/definitions/AccountUser.definition.js +227 -0
  25. package/lib/metadataTypes/definitions/Asset.definition.js +1 -0
  26. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -1
  27. package/lib/metadataTypes/definitions/ImportFile.definition.js +2 -1
  28. package/lib/metadataTypes/definitions/Script.definition.js +5 -5
  29. package/lib/retrieveChangelog.js +96 -0
  30. package/lib/util/cli.js +4 -6
  31. package/lib/util/init.git.js +2 -1
  32. package/lib/util/util.js +17 -0
  33. package/package.json +17 -21
  34. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  35. package/img/README.md/troubleshoot-nodejs-postinstall.jpg +0 -0
  36. 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,72 @@
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.1.0 (Default)
43
+ - 3.0.3
44
+ - 3.0.2
45
+ - 3.0.1
46
+ - develop-branch
47
+ validations:
48
+ required: true
49
+ - type: textarea
50
+ attributes:
51
+ label: Environment
52
+ description: |
53
+ examples:
54
+ - **Operating system (Windows/Mac/Linux/...)**: Windows 10
55
+ - **Node (node --version)**: 13.14.0
56
+ - **npm (npm --version)**: 7.6.3
57
+ value: |
58
+ - OS:
59
+ - Node:
60
+ - npm:
61
+ validations:
62
+ required: false
63
+ - type: checkboxes
64
+ attributes:
65
+ label: Participation
66
+ options:
67
+ - label: I am willing to submit a pull request for this issue.
68
+ required: false
69
+ - type: textarea
70
+ attributes:
71
+ label: Additional comments
72
+ description: Is there anything else that's important for the team to know?
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,59 @@ Accenture SFMC DevTools follows [semantic versioning](https://semver.org/).
4
4
 
5
5
  ---
6
6
 
7
+ ## [3.1.0](https://github.com/Accenture/sfmc-devtools/compare/v3.0.3...v3.1.0) - 2021-12-27
8
+
9
+ **Features:**
10
+
11
+ - [#55](https://github.com/Accenture/sfmc-devtools/issues/55) added user / roles documentation
12
+ - [#64](https://github.com/Accenture/sfmc-devtools/issues/64) Added `accountUser` (system users) support (retrieve)
13
+ - [#103](https://github.com/Accenture/sfmc-devtools/issues/103) Add rename `dataExtensionField` option (via Name_new)
14
+ - [#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)
15
+ - [#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)
16
+ - [#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)
17
+ - [#144](https://github.com/Accenture/sfmc-devtools/issues/144) added file type .ai to `asset` - thanks to @fbellgr
18
+
19
+ **Bugfixes:**
20
+
21
+ - [#112](https://github.com/Accenture/sfmc-devtools/issues/112) add (unknown) new type 783 to defintion of `importFile`
22
+ - [#117](https://github.com/Accenture/sfmc-devtools/issues/117) `queries` not deployable when target is `shared DE`
23
+ - [#118](https://github.com/Accenture/sfmc-devtools/issues/118) `automation` start not auto-retried during deploy
24
+ - [#119](https://github.com/Accenture/sfmc-devtools/issues/119) fixed `list` dependency for importFile
25
+ - [#122](https://github.com/Accenture/sfmc-devtools/issues/122) ECONNRESET on caching metadata during deploy
26
+ - [#128](https://github.com/Accenture/sfmc-devtools/issues/128) `dataExtension` json not equal for retrieve/deploy
27
+ - [#129](https://github.com/Accenture/sfmc-devtools/issues/129) `script` json not equal for retrieve/deploy
28
+ - [#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
29
+ - [#144](https://github.com/Accenture/sfmc-devtools/issues/144) improved handling high volumes of `asset` - thanks to @fbellgr
30
+ - [#149](https://github.com/Accenture/sfmc-devtools/issues/149) handle errors on upsert of data extensions gracefully
31
+
32
+ **Chores:**
33
+
34
+ - [#5](https://github.com/Accenture/sfmc-devtools/issues/5) removed postinstall msg after npm 7 dropped support for that
35
+ - [#127](https://github.com/Accenture/sfmc-devtools/issues/127) bad message "info: updated automation: undefined"
36
+ - [#132](https://github.com/Accenture/sfmc-devtools/issues/132) `dataExtension.SendableSubscriberField.Name` now has a slightly more readable value
37
+ - [#137](https://github.com/Accenture/sfmc-devtools/issues/137) docs for installing a specific version were incorrect
38
+ - [#138](https://github.com/Accenture/sfmc-devtools/issues/138) make issues and pull requests clickable in gitfork
39
+ - change `mcdev document` to take the cred/BU first and then the type to align it with other commands
40
+ - improved error handling of `document role` command
41
+ - bumped cli-progress to 3.9.1
42
+ - bumped eslint to 8.4.1
43
+ - bumped eslint-plugin-mocha to 10.0.1
44
+ - bumped eslint-plugin-prettier to 4.0.0
45
+ - bumped fs-extra to 10.0.0
46
+ - bumped husky to 7.0.4
47
+ - bumped inquirer to 8.2.0
48
+ - bumped jsdoc-to-markdown to 7.1.0
49
+ - bumped lint-staged to 12.1.2
50
+ - bumped mocha to 9.1.3
51
+ - bumped mustache to 4.2.0
52
+ - bumped prettier to 2.5.1
53
+ - bumped semver to 7.3.5
54
+ - bumped simple-git to 2.48.0
55
+ - bumped yargs to 17.3.0
56
+ - [#146](https://github.com/Accenture/sfmc-devtools/issues/146) remove AccountUser retrieve as a default retrieve option
57
+
58
+ ---
59
+
7
60
  ## [3.0.3](https://github.com/Accenture/sfmc-devtools/compare/v3.0.2...v3.0.3) - 2021-08-11
8
61
 
9
62
  **Bugfixes:**