@pnp/cli-microsoft365 11.1.0-beta.d3fc85d → 11.1.0-beta.dce6352

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 (101) hide show
  1. package/.devproxy/api-specs/sharepoint.yaml +23 -0
  2. package/allCommands.json +1 -1
  3. package/allCommandsFull.json +1 -1
  4. package/dist/Auth.js +10 -7
  5. package/dist/Command.js +2 -2
  6. package/dist/auth/msalCachePlugin.js +6 -2
  7. package/dist/autocomplete.js +6 -2
  8. package/dist/chili/chili.js +2 -1
  9. package/dist/cli/cli.js +4 -2
  10. package/dist/config.js +0 -1
  11. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +2 -2
  12. package/dist/m365/app/commands/permission/permission-list.js +4 -2
  13. package/dist/m365/booking/commands/business/business-list.js +5 -0
  14. package/dist/m365/commands/setup.js +6 -3
  15. package/dist/m365/connection/commands/connection-list.js +5 -1
  16. package/dist/m365/entra/commands/app/app-role-add.js +1 -1
  17. package/dist/m365/entra/commands/group/group-add.js +1 -1
  18. package/dist/m365/entra/commands/group/group-set.js +1 -1
  19. package/dist/m365/entra/commands/m365group/m365group-add.js +0 -1
  20. package/dist/m365/file/commands/convert/convert-pdf.js +1 -6
  21. package/dist/m365/flow/commands/flow-export.js +8 -5
  22. package/dist/m365/flow/commands/run/run-get.js +3 -3
  23. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +1 -1
  24. package/dist/m365/onedrive/commands/onedrive-list.js +5 -0
  25. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +5 -0
  26. package/dist/m365/pa/commands/app/app-export.js +1 -1
  27. package/dist/m365/pa/commands/app/app-get.js +1 -1
  28. package/dist/m365/pa/commands/environment/environment-list.js +5 -0
  29. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +5 -0
  30. package/dist/m365/pp/commands/solution/solution-publisher-get.js +1 -1
  31. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +5 -0
  32. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +5 -0
  33. package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +5 -0
  34. package/dist/m365/spfx/commands/package/package-generate.js +3 -1
  35. package/dist/m365/spfx/commands/project/base-project-command.js +13 -5
  36. package/dist/m365/spfx/commands/project/project-doctor/rules/FN021007_PKG_only_one_rush_stack_compiler_installed.js +1 -1
  37. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +6 -4
  38. package/dist/m365/spfx/commands/project/project-model/ScssFile.js +3 -1
  39. package/dist/m365/spfx/commands/project/project-model/TsFile.js +6 -2
  40. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
  41. package/dist/m365/spfx/commands/spfx-doctor.js +5 -5
  42. package/dist/m365/spo/commands/file/file-add.js +4 -2
  43. package/dist/m365/spo/commands/file/file-rename.js +3 -4
  44. package/dist/m365/spo/commands/hubsite/hubsite-list.js +1 -1
  45. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +1 -1
  46. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +9 -5
  47. package/dist/m365/spo/commands/page/clientsidepages.js +12 -12
  48. package/dist/m365/spo/commands/page/page-add.js +4 -2
  49. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +1 -0
  50. package/dist/m365/spo/commands/page/page-set.js +4 -2
  51. package/dist/m365/spo/commands/page/page-text-add.js +1 -0
  52. package/dist/m365/spo/commands/propertybag/propertybag-base.js +34 -54
  53. package/dist/m365/spo/commands/site/site-alert-list.js +107 -0
  54. package/dist/m365/spo/commands/theme/theme-apply.js +1 -1
  55. package/dist/m365/spo/commands/web/web-reindex.js +17 -27
  56. package/dist/m365/spo/commands.js +1 -0
  57. package/dist/m365/teams/commands/tab/tab-add.js +9 -3
  58. package/dist/m365/viva/commands/connections/connections-app-create.js +1 -1
  59. package/dist/m365/viva/commands/engage/engage-community-user-add.js +1 -1
  60. package/dist/m365/viva/commands/engage/engage-community-user-remove.js +1 -1
  61. package/dist/telemetry.js +3 -1
  62. package/dist/utils/accessToken.js +4 -0
  63. package/dist/utils/cache.js +3 -2
  64. package/dist/utils/customAppScope.js +1 -1
  65. package/dist/utils/directoryExtension.js +1 -1
  66. package/dist/utils/entraAdministrativeUnit.js +1 -1
  67. package/dist/utils/entraApp.js +2 -2
  68. package/dist/utils/entraDevice.js +1 -1
  69. package/dist/utils/entraServicePrincipal.js +2 -2
  70. package/dist/utils/formatting.js +1 -1
  71. package/dist/utils/md.js +2 -2
  72. package/dist/utils/odata.js +2 -0
  73. package/dist/utils/planner.js +1 -1
  74. package/dist/utils/powerPlatform.js +2 -2
  75. package/dist/utils/roleDefinition.js +2 -2
  76. package/dist/utils/spo.js +10 -11
  77. package/dist/utils/urlUtil.js +1 -1
  78. package/dist/utils/validation.js +1 -1
  79. package/dist/utils/vivaEngage.js +3 -3
  80. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-add.mdx +14 -0
  81. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-get.mdx +15 -0
  82. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-list.mdx +14 -0
  83. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-remove.mdx +14 -0
  84. package/docs/docs/cmd/entra/groupsetting/groupsetting-add.mdx +19 -0
  85. package/docs/docs/cmd/entra/groupsetting/groupsetting-get.mdx +19 -0
  86. package/docs/docs/cmd/entra/groupsetting/groupsetting-list.mdx +19 -0
  87. package/docs/docs/cmd/entra/groupsetting/groupsetting-remove.mdx +21 -0
  88. package/docs/docs/cmd/entra/groupsetting/groupsetting-set.mdx +21 -0
  89. package/docs/docs/cmd/entra/m365group/m365group-add.mdx +19 -0
  90. package/docs/docs/cmd/entra/m365group/m365group-get.mdx +19 -0
  91. package/docs/docs/cmd/entra/m365group/m365group-list.mdx +19 -0
  92. package/docs/docs/cmd/entra/m365group/m365group-remove.mdx +21 -0
  93. package/docs/docs/cmd/entra/m365group/m365group-renew.mdx +21 -0
  94. package/docs/docs/cmd/entra/m365group/m365group-set.mdx +21 -0
  95. package/docs/docs/cmd/entra/m365group/m365group-teamify.mdx +19 -0
  96. package/docs/docs/cmd/spo/site/site-alert-list.mdx +187 -0
  97. package/eslint-rules/lib/rules/correct-command-class-name.js +18 -2
  98. package/eslint.config.mjs +270 -0
  99. package/npm-shrinkwrap.json +1117 -2277
  100. package/package.json +22 -21
  101. package/.eslintrc.cjs +0 -289
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra groupsetting set
4
6
 
@@ -19,6 +21,25 @@ m365 entra groupsetting set [options]
19
21
 
20
22
  <Global />
21
23
 
24
+ ## Permissions
25
+
26
+ <Tabs>
27
+ <TabItem value="Delegated">
28
+
29
+ | Resource | Permissions |
30
+ |-----------------|-----------------------------|
31
+ | Microsoft Graph | GroupSettings.ReadWrite.All |
32
+
33
+ </TabItem>
34
+ <TabItem value="Application">
35
+
36
+ | Resource | Permissions |
37
+ |-----------------|-----------------------------|
38
+ | Microsoft Graph | GroupSettings.ReadWrite.All |
39
+
40
+ </TabItem>
41
+ </Tabs>
42
+
22
43
  ## Remarks
23
44
 
24
45
  To update a group setting, you have to specify the ID of the group setting. You can retrieve the ID of the group setting using the [entra groupsetting list](./groupsetting-list.mdx) command.
@@ -66,6 +66,25 @@ Public | Anyone can join the group without needing owner permission. Anyone can
66
66
  Private | Owner permission is needed to join the group. Anyone can view the attributes of the group. Anyone can see the members of the group.
67
67
  HiddenMembership | Owner permission is needed to join the group. Guest users cannot view the attributes of the group. Non-members cannot see the members of the group. Administrators (global, company, user, and helpdesk) can view the membership of the group. The group appears in the global address book (GAL).
68
68
 
69
+ ## Permissions
70
+
71
+ <Tabs>
72
+ <TabItem value="Delegated">
73
+
74
+ | Resource | Permissions |
75
+ |-----------------|---------------------|
76
+ | Microsoft Graph | Group.ReadWrite.All |
77
+
78
+ </TabItem>
79
+ <TabItem value="Application">
80
+
81
+ | Resource | Permissions |
82
+ |-----------------|--------------|
83
+ | Microsoft Graph | Group.Create |
84
+
85
+ </TabItem>
86
+ </Tabs>
87
+
69
88
  ## Examples
70
89
 
71
90
  Create a public Microsoft 365 Group.
@@ -27,6 +27,25 @@ m365 entra m365group get [options]
27
27
 
28
28
  <Global />
29
29
 
30
+ ## Permissions
31
+
32
+ <Tabs>
33
+ <TabItem value="Delegated">
34
+
35
+ | Resource | Permissions |
36
+ |-----------------|----------------|
37
+ | Microsoft Graph | Group.Read.All |
38
+
39
+ </TabItem>
40
+ <TabItem value="Application">
41
+
42
+ | Resource | Permissions |
43
+ |-----------------|----------------|
44
+ | Microsoft Graph | Group.Read.All |
45
+
46
+ </TabItem>
47
+ </Tabs>
48
+
30
49
  ## Examples
31
50
 
32
51
  Get information about the Microsoft 365 Group with id _1caf7dcd-7e83-4c3a-94f7-932a1299c844_.
@@ -30,6 +30,25 @@ m365 entra m365group list [options]
30
30
 
31
31
  <Global />
32
32
 
33
+ ## Permissions
34
+
35
+ <Tabs>
36
+ <TabItem value="Delegated">
37
+
38
+ | Resource | Permissions |
39
+ |-----------------|----------------|
40
+ | Microsoft Graph | Group.Read.All |
41
+
42
+ </TabItem>
43
+ <TabItem value="Application">
44
+
45
+ | Resource | Permissions |
46
+ |-----------------|----------------|
47
+ | Microsoft Graph | Group.Read.All |
48
+
49
+ </TabItem>
50
+ </Tabs>
51
+
33
52
  ## Remarks
34
53
 
35
54
  Using the `--withSiteUrl` option, you can retrieve the URL of the site associated with the particular Microsoft 365 Group. If you however retrieve too many groups and will try to get their site URLs, you will most likely get an error as the command will get throttled, issuing too many requests, too frequently. If you get an error, consider narrowing down the result set using the `--displayName` and `--mailNickname` filters.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra m365group remove
4
6
 
@@ -28,6 +30,25 @@ m365 entra m365group remove [options]
28
30
 
29
31
  <Global />
30
32
 
33
+ ## Permissions
34
+
35
+ <Tabs>
36
+ <TabItem value="Delegated">
37
+
38
+ | Resource | Permissions |
39
+ |-----------------|---------------------|
40
+ | Microsoft Graph | Group.ReadWrite.All |
41
+
42
+ </TabItem>
43
+ <TabItem value="Application">
44
+
45
+ | Resource | Permissions |
46
+ |-----------------|---------------------|
47
+ | Microsoft Graph | Group.ReadWrite.All |
48
+
49
+ </TabItem>
50
+ </Tabs>
51
+
31
52
  ## Remarks
32
53
 
33
54
  If the specified _id_ doesn't refer to an existing group, you will get a `Resource does not exist` error. Additionally, if you do not have access to the group or the associated group-connected site, you will get an `Access denied` error.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra m365group renew
4
6
 
@@ -22,6 +24,25 @@ m365 entra m365group renew [options]
22
24
 
23
25
  <Global />
24
26
 
27
+ ## Permissions
28
+
29
+ <Tabs>
30
+ <TabItem value="Delegated">
31
+
32
+ | Resource | Permissions |
33
+ |-----------------|---------------------|
34
+ | Microsoft Graph | Group.ReadWrite.All |
35
+
36
+ </TabItem>
37
+ <TabItem value="Application">
38
+
39
+ | Resource | Permissions |
40
+ |-----------------|---------------------|
41
+ | Microsoft Graph | Group.ReadWrite.All |
42
+
43
+ </TabItem>
44
+ </Tabs>
45
+
25
46
  ## Remarks
26
47
 
27
48
  If the specified _id_ doesn't refer to an existing group, you will get a `The remote server returned an error: (404) Not Found.` error.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra m365group set
4
6
 
@@ -58,6 +60,25 @@ m365 entra m365group set [options]
58
60
 
59
61
  <Global />
60
62
 
63
+ ## Permissions
64
+
65
+ <Tabs>
66
+ <TabItem value="Delegated">
67
+
68
+ | Resource | Permissions |
69
+ |-----------------|---------------------|
70
+ | Microsoft Graph | Group.ReadWrite.All |
71
+
72
+ </TabItem>
73
+ <TabItem value="Application">
74
+
75
+ | Resource | Permissions |
76
+ |-----------------|---------------------|
77
+ | Microsoft Graph | Group.ReadWrite.All |
78
+
79
+ </TabItem>
80
+ </Tabs>
81
+
61
82
  ## Remarks
62
83
 
63
84
  When updating group's owners and members, the command will remove existing owners/members from the group, and the specified users will be added.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra m365group teamify
4
6
 
@@ -25,6 +27,23 @@ m365 entra m365group teamify [options]
25
27
 
26
28
  <Global />
27
29
 
30
+ <Tabs>
31
+ <TabItem value="Delegated">
32
+
33
+ | Resource | Permissions |
34
+ |-----------------|---------------------|
35
+ | Microsoft Graph | Group.ReadWrite.All |
36
+
37
+ </TabItem>
38
+ <TabItem value="Application">
39
+
40
+ | Resource | Permissions |
41
+ |-----------------|---------------------|
42
+ | Microsoft Graph | Group.ReadWrite.All |
43
+
44
+ </TabItem>
45
+ </Tabs>
46
+
28
47
  ## Examples
29
48
 
30
49
  Creates a new Microsoft Teams team under existing Microsoft 365 group with the specified id.
@@ -0,0 +1,187 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # spo site alert list
6
+
7
+ Lists all SharePoint list alerts
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 spo site alert list [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-u, --webUrl <webUrl>`
19
+ : The URL of the SharePoint site.
20
+
21
+ `--listId [listId]`
22
+ : The ID of the SharePoint list. Specify either `listId`, `listUrl`, or `listTitle`, but not more than one.
23
+
24
+ `--listUrl [listUrl]`
25
+ : The URL of the SharePoint list. Specify either `listId`, `listUrl`, or `listTitle`, but not more than one.
26
+
27
+ `--listTitle [listTitle]`
28
+ : The title of the SharePoint list. Specify either `listId`, `listUrl`, or `listTitle`, but not more than one.
29
+
30
+ `--userName [userName]`
31
+ : The user name to filter alerts for. Specify either `userName` or `userId`, but not both.
32
+
33
+ `--userId [userId]`
34
+ : The user ID to filter alerts for. Specify either `userName` or `userId`, but not both.
35
+ ```
36
+
37
+ <Global />
38
+
39
+ ## Permissions
40
+
41
+ <Tabs>
42
+ <TabItem value="Delegated">
43
+
44
+ | Resource | Permissions |
45
+ |------------|----------------------|
46
+ | SharePoint | AllSites.FullControl |
47
+
48
+ </TabItem>
49
+ <TabItem value="Application">
50
+
51
+ | Resource | Permissions |
52
+ |------------|-----------------------|
53
+ | SharePoint | Sites.FullControl.All |
54
+
55
+ </TabItem>
56
+ </Tabs>
57
+
58
+ ## Examples
59
+
60
+ List all alerts for a SharePoint site:
61
+
62
+ ```sh
63
+ m365 spo site alert list --webUrl https://contoso.sharepoint.com/sites/Marketing
64
+ ```
65
+
66
+ List alerts for a SharePoint list by listUrl:
67
+
68
+ ```sh
69
+ m365 spo site alert list --webUrl https://contoso.sharepoint.com/sites/Marketing --listUrl /sites/Marketing/lists/Tasks
70
+ ```
71
+
72
+ List alerts for a specific user by userId:
73
+
74
+ ```sh
75
+ m365 spo site alert list --webUrl https://contoso.sharepoint.com/sites/Marketing --userId 7cbb4c8d-8e4d-4d2e-9c6f-3f1d8b2e6a0e
76
+ ```
77
+
78
+ List alerts for a specific list by title and user by username:
79
+
80
+ ```sh
81
+ m365 spo site alert list --webUrl https://contoso.sharepoint.com/sites/Marketing --listTitle "Tasks" --userName jane.doe@contoso.com
82
+ ```
83
+
84
+ ## Response
85
+
86
+ <Tabs>
87
+ <TabItem value="JSON">
88
+
89
+ ```json
90
+ [
91
+ {
92
+ "AlertFrequency": 0,
93
+ "AlertTemplateName": "SPAlertTemplateType.DocumentLibrary",
94
+ "AlertType": 1,
95
+ "AlwaysNotify": false,
96
+ "DeliveryChannels": 1,
97
+ "EventType": -1,
98
+ "Filter": "",
99
+ "ID": "c52b4bf0-add0-4323-b670-f765bb46337b",
100
+ "Properties": [
101
+ {
102
+ "Key": "dispformurl",
103
+ "Value": "Shared Documents/Forms/DispForm.aspx",
104
+ "ValueType": "Edm.String"
105
+ }
106
+ ],
107
+ "Status": 0,
108
+ "Title": "Documents: ProjectPlan.docx",
109
+ "UserId": 9,
110
+ "Item": {
111
+ "Id": 37326,
112
+ "FileRef": "/sites/marketing/Shared Documents/ProjectPlan.docx",
113
+ "GUID": "ef5cc60b-71c0-4357-a291-14274234efde"
114
+ },
115
+ "List": {
116
+ "Id": "6b4f195c-02da-47f4-8237-065b96258cf3",
117
+ "Title": "Documents",
118
+ "RootFolder": {
119
+ "ServerRelativeUrl": "/sites/marketing/Shared Documents"
120
+ }
121
+ },
122
+ "User": {
123
+ "Id": 9,
124
+ "IsHiddenInUI": false,
125
+ "LoginName": "i:0#.f|membership|jane.doe@contoso.onmicrosoft.com",
126
+ "Title": "Jane Doe",
127
+ "PrincipalType": 1,
128
+ "Email": "jane.doe@contoso.onmicrosoft.com",
129
+ "Expiration": "",
130
+ "IsEmailAuthenticationGuestUser": false,
131
+ "IsShareByEmailGuestUser": false,
132
+ "IsSiteAdmin": false,
133
+ "UserId": {
134
+ "NameId": "10037ffeaed549a5",
135
+ "NameIdIssuer": "urn:federation:microsoftonline"
136
+ },
137
+ "UserPrincipalName": "jane.doe@contoso.onmicrosoft.com"
138
+ }
139
+ }
140
+ ]
141
+ ```
142
+
143
+ </TabItem>
144
+ <TabItem value="Text">
145
+
146
+ ```txt
147
+ ID Title UserPrincipalName
148
+ ------------------------------------ --------------------------- --------------------
149
+ fa5115ee-0c72-4d17-9fda-ee2451ba1c6d Documents: ProjectPlan.docx jane.doe@contoso.com
150
+ ```
151
+
152
+ </TabItem>
153
+ <TabItem value="CSV">
154
+
155
+ ```csv
156
+ AlertFrequency,AlertTemplateName,AlertType,AlwaysNotify,DeliveryChannels,EventType,Filter,ID,Status,Title,UserId,UserPrincipalName
157
+ 0,SPAlertTemplateType.DocumentLibrary,1,0,1,-1,,fa5115ee-0c72-4d17-9fda-ee2451ba1c6d,0,Documents: ProjectPlan.docx,6,jane.doe@contoso.com
158
+ ```
159
+
160
+ </TabItem>
161
+ <TabItem value="Markdown">
162
+
163
+ ```md
164
+ # spo site alert list --webUrl "https://contoso.sharepoint.com/sites/marketing" --listUrl "/sites/marketing/Shared Documents"
165
+
166
+ Date: 10/6/2025
167
+
168
+ ## Documents: ProjectPlan.docx (c52b4bf0-add0-4323-b670-f765bb46337b)
169
+
170
+ Property | Value
171
+ ---------|-------
172
+ AlertFrequency | 0
173
+ AlertTemplateName | SPAlertTemplateType.DocumentLibrary
174
+ AlertType | 1
175
+ AlwaysNotify | false
176
+ DeliveryChannels | 1
177
+ EventType | -1
178
+ Filter |
179
+ ID | c52b4bf0-add0-4323-b670-f765bb46337b
180
+ Status | 0
181
+ Title | Documents: ProjectPlan.docx
182
+ UserId | 9
183
+ UserPrincipalName | jane.doe@contoso.com
184
+ ```
185
+
186
+ </TabItem>
187
+ </Tabs>
@@ -42,7 +42,7 @@ function capitalizeWord(word, capitalized) {
42
42
  return word.substr(0, 1).toUpperCase() + word.substr(1).toLowerCase();
43
43
  }
44
44
 
45
- function breakWords(longWord, dictionary) {
45
+ function breakWords(longWord, dictionary) {
46
46
  const words = [];
47
47
  for (let i = 0; i < dictionary.length; i++) {
48
48
  if (longWord.indexOf(dictionary[i]) === 0) {
@@ -72,7 +72,23 @@ module.exports = {
72
72
  fixable: 'code',
73
73
  messages: {
74
74
  invalidName: "'{{ actualClassName }}' is not a valid command class name. Expected '{{ expectedClassName }}'"
75
- }
75
+ },
76
+ schema: [
77
+ {
78
+ type: 'array',
79
+ items: { type: 'string' },
80
+ uniqueItems: true,
81
+ title: 'dictionary',
82
+ description: 'List of known word parts used to break long command names into words.'
83
+ },
84
+ {
85
+ type: 'array',
86
+ items: { type: 'string' },
87
+ uniqueItems: true,
88
+ title: 'capitalized',
89
+ description: 'List of known word parts that should be capitalized.'
90
+ }
91
+ ]
76
92
  },
77
93
  create: context => {
78
94
  return {