@pnp/cli-microsoft365 9.1.0 → 10.0.0-beta.0b765ef

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 (116) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/cli/cli.js +1 -1
  4. package/dist/m365/app/commands/permission/permission-add.js +9 -9
  5. package/dist/m365/cli/commands/cli-consent.js +3 -7
  6. package/dist/m365/cli/commands/cli-doctor.js +2 -2
  7. package/dist/m365/cli/commands/config/config-set.js +0 -1
  8. package/dist/m365/cli/commands.js +1 -2
  9. package/dist/m365/commands/setupPresets.js +2 -4
  10. package/dist/m365/commands/status.js +2 -2
  11. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-add.js +13 -13
  12. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-get.js +18 -18
  13. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-list.js +1 -1
  14. package/dist/m365/entra/commands/group/{group-user-add.js → group-member-add.js} +18 -18
  15. package/dist/m365/entra/commands/group/{group-user-list.js → group-member-list.js} +21 -21
  16. package/dist/m365/entra/commands/group/{group-user-set.js → group-member-set.js} +19 -19
  17. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +4 -4
  18. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +3 -3
  19. package/dist/m365/entra/commands/m365group/m365group-set.js +24 -16
  20. package/dist/m365/entra/commands/m365group/m365group-user-add.js +5 -12
  21. package/dist/m365/entra/commands/m365group/m365group-user-list.js +6 -9
  22. package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +3 -12
  23. package/dist/m365/entra/commands.js +3 -3
  24. package/dist/m365/flow/commands/environment/environment-list.js +1 -1
  25. package/dist/m365/outlook/commands/message/message-get.js +11 -11
  26. package/dist/m365/pa/commands/app/app-list.js +1 -6
  27. package/dist/m365/pa/commands/connector/connector-list.js +1 -6
  28. package/dist/m365/pa/commands/environment/environment-list.js +1 -1
  29. package/dist/m365/pp/commands/environment/environment-list.js +1 -1
  30. package/dist/m365/spfx/commands/project/DeployWorkflow.js +1 -1
  31. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +1 -10
  32. package/dist/m365/spo/commands/app/app-instance-list.js +3 -18
  33. package/dist/m365/spo/commands/app/app-list.js +1 -8
  34. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +0 -1
  35. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +8 -8
  36. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +2 -2
  37. package/dist/m365/spo/commands/feature/feature-list.js +1 -8
  38. package/dist/m365/spo/commands/file/file-copy.js +59 -34
  39. package/dist/m365/spo/commands/file/file-move.js +55 -33
  40. package/dist/m365/spo/commands/folder/folder-set.js +0 -4
  41. package/dist/m365/spo/commands/list/list-list.js +1 -4
  42. package/dist/m365/spo/commands/list/list-webhook-list.js +1 -6
  43. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +1 -8
  44. package/dist/m365/spo/commands/page/page-list.js +1 -1
  45. package/dist/m365/spo/commands/page/page-template-list.js +1 -3
  46. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +48 -24
  47. package/dist/m365/spo/commands/site/site-remove.js +1 -7
  48. package/dist/m365/spo/commands/sitescript/sitescript-get.js +3 -2
  49. package/dist/m365/spo/commands/sitescript/sitescript-list.js +1 -3
  50. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +2 -22
  51. package/dist/m365/spo/commands/{site/site-rename.js → tenant/tenant-site-rename.js} +29 -32
  52. package/dist/m365/spo/commands/theme/theme-list.js +1 -1
  53. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +1 -6
  54. package/dist/m365/spo/commands.js +1 -2
  55. package/dist/m365/teams/commands/tab/tab-list.js +5 -3
  56. package/dist/m365/viva/commands/engage/engage-group-list.js +0 -5
  57. package/dist/m365/viva/commands/engage/engage-group-user-add.js +0 -5
  58. package/dist/m365/viva/commands/engage/engage-group-user-remove.js +0 -5
  59. package/dist/m365/viva/commands/engage/engage-message-add.js +0 -5
  60. package/dist/m365/viva/commands/engage/engage-message-get.js +0 -5
  61. package/dist/m365/viva/commands/engage/engage-message-like-set.js +0 -5
  62. package/dist/m365/viva/commands/engage/engage-message-list.js +0 -5
  63. package/dist/m365/viva/commands/engage/engage-message-remove.js +0 -5
  64. package/dist/m365/viva/commands/engage/engage-network-list.js +0 -5
  65. package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +0 -8
  66. package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +0 -8
  67. package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +0 -8
  68. package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +0 -8
  69. package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +0 -8
  70. package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +0 -8
  71. package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +0 -8
  72. package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +0 -8
  73. package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +0 -8
  74. package/dist/m365/viva/commands/engage/engage-search.js +0 -5
  75. package/dist/m365/viva/commands/engage/engage-user-get.js +0 -5
  76. package/dist/m365/viva/commands/engage/engage-user-list.js +0 -5
  77. package/dist/settingsNames.js +0 -1
  78. package/dist/utils/spo.js +76 -0
  79. package/docs/docs/_clisettings.mdx +0 -1
  80. package/docs/docs/cmd/app/permission/permission-add.mdx +5 -5
  81. package/docs/docs/cmd/cli/cli-consent.mdx +1 -1
  82. package/docs/docs/cmd/cli/cli-doctor.mdx +24 -23
  83. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-add.mdx +12 -12
  84. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-get.mdx +14 -14
  85. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-list.mdx +5 -5
  86. package/docs/docs/cmd/entra/group/group-member-add.mdx +62 -0
  87. package/docs/docs/cmd/entra/group/{group-user-list.mdx → group-member-list.mdx} +17 -17
  88. package/docs/docs/cmd/entra/group/group-member-set.mdx +62 -0
  89. package/docs/docs/cmd/entra/m365group/m365group-conversation-post-list.mdx +5 -5
  90. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-list.mdx +3 -3
  91. package/docs/docs/cmd/entra/m365group/m365group-set.mdx +9 -6
  92. package/docs/docs/cmd/entra/m365group/m365group-user-add.mdx +0 -3
  93. package/docs/docs/cmd/entra/m365group/m365group-user-list.mdx +1 -1
  94. package/docs/docs/cmd/outlook/message/message-get.mdx +5 -5
  95. package/docs/docs/cmd/setup.mdx +1 -3
  96. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +11 -12
  97. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-get.mdx +6 -5
  98. package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.mdx +7 -7
  99. package/docs/docs/cmd/spo/contenttype/contenttype-field-set.mdx +2 -2
  100. package/docs/docs/cmd/spo/file/file-copy.mdx +119 -12
  101. package/docs/docs/cmd/spo/file/file-move.mdx +116 -9
  102. package/docs/docs/cmd/spo/folder/folder-set.mdx +0 -6
  103. package/docs/docs/cmd/spo/list/list-list.mdx +5 -7
  104. package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +11 -2
  105. package/docs/docs/cmd/spo/site/site-remove.mdx +0 -3
  106. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +14 -1
  107. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +2 -49
  108. package/docs/docs/cmd/spo/{site/site-rename.mdx → tenant/tenant-site-rename.mdx} +7 -7
  109. package/docs/docs/cmd/teams/tab/tab-list.mdx +1 -2
  110. package/npm-shrinkwrap.json +2 -2
  111. package/package.json +2 -2
  112. package/dist/m365/cli/commands/cli-reconsent.js +0 -29
  113. package/dist/m365/viva/commands/engage/yammerCommands.js +0 -25
  114. package/docs/docs/cmd/cli/cli-reconsent.mdx +0 -62
  115. package/docs/docs/cmd/entra/group/group-user-add.mdx +0 -62
  116. package/docs/docs/cmd/entra/group/group-user-set.mdx +0 -62
@@ -32,7 +32,7 @@ class EntraM365GroupRecycleBinItemListCommand extends GraphCommand {
32
32
  await this.showDeprecationWarning(logger, aadCommands.M365GROUP_RECYCLEBINITEM_LIST, commands.M365GROUP_RECYCLEBINITEM_LIST);
33
33
  try {
34
34
  const filter = `?$filter=groupTypes/any(c:c+eq+'Unified')`;
35
- const displayNameFilter = args.options.groupDisplayName ? ` and startswith(DisplayName,'${formatting.encodeQueryParameter(args.options.groupDisplayName).replace(/'/g, `''`)}')` : '';
35
+ const displayNameFilter = args.options.groupName ? ` and startswith(DisplayName,'${formatting.encodeQueryParameter(args.options.groupName).replace(/'/g, `''`)}')` : '';
36
36
  const mailNicknameFilter = args.options.groupMailNickname ? ` and startswith(MailNickname,'${formatting.encodeQueryParameter(args.options.groupMailNickname).replace(/'/g, `''`)}')` : '';
37
37
  const topCount = '&$top=100';
38
38
  const endpoint = `${this.resource}/v1.0/directory/deletedItems/Microsoft.Graph.Group${filter}${displayNameFilter}${mailNicknameFilter}${topCount}`;
@@ -47,13 +47,13 @@ class EntraM365GroupRecycleBinItemListCommand extends GraphCommand {
47
47
  _EntraM365GroupRecycleBinItemListCommand_instances = new WeakSet(), _EntraM365GroupRecycleBinItemListCommand_initTelemetry = function _EntraM365GroupRecycleBinItemListCommand_initTelemetry() {
48
48
  this.telemetry.push((args) => {
49
49
  Object.assign(this.telemetryProperties, {
50
- groupDisplayName: typeof args.options.groupDisplayName !== 'undefined',
50
+ groupName: typeof args.options.groupName !== 'undefined',
51
51
  groupMailNickname: typeof args.options.groupMailNickname !== 'undefined'
52
52
  });
53
53
  });
54
54
  }, _EntraM365GroupRecycleBinItemListCommand_initOptions = function _EntraM365GroupRecycleBinItemListCommand_initOptions() {
55
55
  this.options.unshift({
56
- option: '-d, --groupDisplayName [groupDisplayName]'
56
+ option: '-d, --groupName [groupName]'
57
57
  }, {
58
58
  option: '-m, --groupMailNickname [groupMailNickname]'
59
59
  });
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _EntraM365GroupSetCommand_instances, _EntraM365GroupSetCommand_initTelemetry, _EntraM365GroupSetCommand_initOptions, _EntraM365GroupSetCommand_initTypes, _EntraM365GroupSetCommand_initValidators;
6
+ var _EntraM365GroupSetCommand_instances, _EntraM365GroupSetCommand_initTelemetry, _EntraM365GroupSetCommand_initOptions, _EntraM365GroupSetCommand_initOptionSets, _EntraM365GroupSetCommand_initTypes, _EntraM365GroupSetCommand_initValidators;
7
7
  import { setTimeout } from 'timers/promises';
8
8
  import fs from 'fs';
9
9
  import path from 'path';
@@ -31,8 +31,9 @@ class EntraM365GroupSetCommand extends GraphCommand {
31
31
  this.pollingInterval = 500;
32
32
  __classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initTelemetry).call(this);
33
33
  __classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initOptions).call(this);
34
- __classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initTypes).call(this);
35
34
  __classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initValidators).call(this);
35
+ __classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initOptionSets).call(this);
36
+ __classPrivateFieldGet(this, _EntraM365GroupSetCommand_instances, "m", _EntraM365GroupSetCommand_initTypes).call(this);
36
37
  }
37
38
  async commandAction(logger, args) {
38
39
  await this.showDeprecationWarning(logger, aadCommands.M365GROUP_SET, commands.M365GROUP_SET);
@@ -40,23 +41,24 @@ class EntraM365GroupSetCommand extends GraphCommand {
40
41
  if ((args.options.allowExternalSenders !== undefined || args.options.autoSubscribeNewMembers !== undefined) && accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[auth.defaultResource].accessToken)) {
41
42
  throw `Option 'allowExternalSenders' and 'autoSubscribeNewMembers' can only be used when using delegated permissions.`;
42
43
  }
43
- const isUnifiedGroup = await entraGroup.isUnifiedGroup(args.options.id);
44
+ const groupId = args.options.id || await entraGroup.getGroupIdByDisplayName(args.options.displayName);
45
+ const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
44
46
  if (!isUnifiedGroup) {
45
- throw Error(`Specified group with id '${args.options.id}' is not a Microsoft 365 group.`);
47
+ throw Error(`Specified group with id '${groupId}' is not a Microsoft 365 group.`);
46
48
  }
47
49
  if (this.verbose) {
48
- await logger.logToStderr(`Updating Microsoft 365 Group ${args.options.id}...`);
50
+ await logger.logToStderr(`Updating Microsoft 365 Group ${args.options.id || args.options.displayName}...`);
49
51
  }
50
- if (args.options.displayName || args.options.description !== undefined || args.options.isPrivate !== undefined) {
52
+ if (args.options.newDisplayName || args.options.description !== undefined || args.options.isPrivate !== undefined) {
51
53
  const update = {
52
- displayName: args.options.displayName,
54
+ displayName: args.options.newDisplayName,
53
55
  description: args.options.description !== '' ? args.options.description : null
54
56
  };
55
57
  if (args.options.isPrivate !== undefined) {
56
58
  update.visibility = args.options.isPrivate ? 'Private' : 'Public';
57
59
  }
58
60
  const requestOptions = {
59
- url: `${this.resource}/v1.0/groups/${args.options.id}`,
61
+ url: `${this.resource}/v1.0/groups/${groupId}`,
60
62
  headers: {
61
63
  'accept': 'application/json;odata.metadata=none'
62
64
  },
@@ -74,7 +76,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
74
76
  hideFromOutlookClients: args.options.hideFromOutlookClients
75
77
  };
76
78
  const requestOptions = {
77
- url: `${this.resource}/v1.0/groups/${args.options.id}`,
79
+ url: `${this.resource}/v1.0/groups/${groupId}`,
78
80
  headers: {
79
81
  accept: 'application/json;odata.metadata=none'
80
82
  },
@@ -89,7 +91,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
89
91
  await logger.logToStderr(`Setting group logo ${fullPath}...`);
90
92
  }
91
93
  const requestOptions = {
92
- url: `${this.resource}/v1.0/groups/${args.options.id}/photo/$value`,
94
+ url: `${this.resource}/v1.0/groups/${groupId}/photo/$value`,
93
95
  headers: {
94
96
  'content-type': this.getImageContentType(fullPath)
95
97
  },
@@ -114,7 +116,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
114
116
  };
115
117
  const res = await request.get(requestOptions);
116
118
  await Promise.all(res.value.map(u => request.post({
117
- url: `${this.resource}/v1.0/groups/${args.options.id}/owners/$ref`,
119
+ url: `${this.resource}/v1.0/groups/${groupId}/owners/$ref`,
118
120
  headers: {
119
121
  'content-type': 'application/json'
120
122
  },
@@ -141,7 +143,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
141
143
  };
142
144
  const res = await request.get(requestOptions);
143
145
  await Promise.all(res.value.map(u => request.post({
144
- url: `${this.resource}/v1.0/groups/${args.options.id}/members/$ref`,
146
+ url: `${this.resource}/v1.0/groups/${groupId}/members/$ref`,
145
147
  headers: {
146
148
  'content-type': 'application/json'
147
149
  },
@@ -188,7 +190,9 @@ class EntraM365GroupSetCommand extends GraphCommand {
188
190
  _EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_initTelemetry = function _EntraM365GroupSetCommand_initTelemetry() {
189
191
  this.telemetry.push((args) => {
190
192
  Object.assign(this.telemetryProperties, {
193
+ id: typeof args.options.id !== 'undefined',
191
194
  displayName: typeof args.options.displayName !== 'undefined',
195
+ newDisplayName: typeof args.options.newDisplayName !== 'undefined',
192
196
  description: typeof args.options.description !== 'undefined',
193
197
  owners: typeof args.options.owners !== 'undefined',
194
198
  members: typeof args.options.members !== 'undefined',
@@ -202,9 +206,11 @@ _EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_i
202
206
  });
203
207
  }, _EntraM365GroupSetCommand_initOptions = function _EntraM365GroupSetCommand_initOptions() {
204
208
  this.options.unshift({
205
- option: '-i, --id <id>'
209
+ option: '-i, --id [id]'
206
210
  }, {
207
211
  option: '-n, --displayName [displayName]'
212
+ }, {
213
+ option: '--newDisplayName [newDisplayName]'
208
214
  }, {
209
215
  option: '-d, --description [description]'
210
216
  }, {
@@ -229,12 +235,14 @@ _EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_i
229
235
  option: '--hideFromOutlookClients [hideFromOutlookClients]',
230
236
  autocomplete: ['true', 'false']
231
237
  });
238
+ }, _EntraM365GroupSetCommand_initOptionSets = function _EntraM365GroupSetCommand_initOptionSets() {
239
+ this.optionSets.push({ options: ['id', 'displayName'] });
232
240
  }, _EntraM365GroupSetCommand_initTypes = function _EntraM365GroupSetCommand_initTypes() {
233
241
  this.types.boolean.push('isPrivate', 'allowEternalSenders', 'autoSubscribeNewMembers', 'hideFromAddressLists', 'hideFromOutlookClients');
234
- this.types.string.push('id', 'displayName', 'description', 'owners', 'members', 'logoPath');
242
+ this.types.string.push('id', 'displayName', 'newDisplayName', 'description', 'owners', 'members', 'logoPath');
235
243
  }, _EntraM365GroupSetCommand_initValidators = function _EntraM365GroupSetCommand_initValidators() {
236
244
  this.validators.push(async (args) => {
237
- if (!args.options.displayName &&
245
+ if (!args.options.newDisplayName &&
238
246
  args.options.description === undefined &&
239
247
  !args.options.members &&
240
248
  !args.options.owners &&
@@ -246,7 +254,7 @@ _EntraM365GroupSetCommand_instances = new WeakSet(), _EntraM365GroupSetCommand_i
246
254
  args.options.hideFromOutlookClients === undefined) {
247
255
  return 'Specify at least one option to update.';
248
256
  }
249
- if (!validation.isValidGuid(args.options.id)) {
257
+ if (args.options.id && !validation.isValidGuid(args.options.id)) {
250
258
  return `${args.options.id} is not a valid GUID`;
251
259
  }
252
260
  if (args.options.owners) {
@@ -35,19 +35,15 @@ class EntraM365GroupUserAddCommand extends GraphCommand {
35
35
  }
36
36
  async commandAction(logger, args) {
37
37
  await this.showDeprecationWarning(logger, aadCommands.M365GROUP_USER_ADD, commands.M365GROUP_USER_ADD);
38
- if (args.options.userName) {
39
- await this.warn(logger, `Option 'userName' is deprecated. Please use 'ids' or 'userNames' instead.`);
40
- }
41
38
  try {
42
- const userNames = args.options.userNames || args.options.userName;
43
39
  const providedGroupId = await this.getGroupId(logger, args);
44
40
  const isUnifiedGroup = await entraGroup.isUnifiedGroup(providedGroupId);
45
41
  if (!isUnifiedGroup) {
46
42
  throw Error(`Specified group with id '${providedGroupId}' is not a Microsoft 365 group.`);
47
43
  }
48
- const userIds = await this.getUserIds(logger, args.options.ids, userNames);
44
+ const userIds = await this.getUserIds(logger, args.options.ids, args.options.userNames);
49
45
  if (this.verbose) {
50
- await logger.logToStderr(`Adding user(s) ${args.options.ids || userNames} to group ${args.options.groupId || args.options.groupName || args.options.teamId || args.options.teamName}...`);
46
+ await logger.logToStderr(`Adding user(s) ${args.options.ids || args.options.userNames} to group ${args.options.groupId || args.options.groupName || args.options.teamId || args.options.teamName}...`);
51
47
  }
52
48
  await this.addUsers(providedGroupId, userIds, args.options.role);
53
49
  }
@@ -122,14 +118,11 @@ _EntraM365GroupUserAddCommand_instances = new WeakSet(), _EntraM365GroupUserAddC
122
118
  teamName: typeof args.options.teamName !== 'undefined',
123
119
  groupName: typeof args.options.groupName !== 'undefined',
124
120
  ids: typeof args.options.ids !== 'undefined',
125
- userNames: typeof args.options.userNames !== 'undefined',
126
- userName: typeof args.options.userName !== 'undefined'
121
+ userNames: typeof args.options.userNames !== 'undefined'
127
122
  });
128
123
  });
129
124
  }, _EntraM365GroupUserAddCommand_initOptions = function _EntraM365GroupUserAddCommand_initOptions() {
130
125
  this.options.unshift({
131
- option: '-n, --userName [userName]'
132
- }, {
133
126
  option: '--ids [ids]'
134
127
  }, {
135
128
  option: '--userNames [userNames]'
@@ -172,9 +165,9 @@ _EntraM365GroupUserAddCommand_instances = new WeakSet(), _EntraM365GroupUserAddC
172
165
  });
173
166
  }, _EntraM365GroupUserAddCommand_initOptionSets = function _EntraM365GroupUserAddCommand_initOptionSets() {
174
167
  this.optionSets.push({ options: ['groupId', 'groupName', 'teamId', 'teamName'] });
175
- this.optionSets.push({ options: ['userName', 'ids', 'userNames'] });
168
+ this.optionSets.push({ options: ['ids', 'userNames'] });
176
169
  }, _EntraM365GroupUserAddCommand_initTypes = function _EntraM365GroupUserAddCommand_initTypes() {
177
- this.types.string.push('userName', 'ids', 'userNames', 'groupId', 'groupName', 'teamId', 'teamName', 'role');
170
+ this.types.string.push('ids', 'userNames', 'groupId', 'groupName', 'teamId', 'teamName', 'role');
178
171
  };
179
172
  export default new EntraM365GroupUserAddCommand();
180
173
  //# sourceMappingURL=m365group-user-add.js.map
@@ -31,9 +31,6 @@ class EntraM365GroupUserListCommand extends GraphCommand {
31
31
  async commandAction(logger, args) {
32
32
  await this.showDeprecationWarning(logger, aadCommands.M365GROUP_USER_LIST, commands.M365GROUP_USER_LIST);
33
33
  try {
34
- if (args.options.role === 'Guest') {
35
- await this.warn(logger, `Value 'Guest' for the option role is deprecated. Use --filter "userType eq 'Guest'" instead.`);
36
- }
37
34
  const groupId = await this.getGroupId(args.options, logger);
38
35
  const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
39
36
  if (!isUnifiedGroup) {
@@ -42,9 +39,9 @@ class EntraM365GroupUserListCommand extends GraphCommand {
42
39
  let users = [];
43
40
  if (!args.options.role || args.options.role === 'Owner') {
44
41
  const owners = await this.getUsers(args.options, 'Owners', groupId, logger);
45
- owners.forEach(owner => users.push({ ...owner, roles: ['Owner'], userType: 'Owner' }));
42
+ owners.forEach(owner => users.push({ ...owner, roles: ['Owner'] }));
46
43
  }
47
- if (!args.options.role || args.options.role === 'Member' || args.options.role === 'Guest') {
44
+ if (!args.options.role || args.options.role === 'Member') {
48
45
  const members = await this.getUsers(args.options, 'Members', groupId, logger);
49
46
  members.forEach((member) => {
50
47
  const user = users.find((u) => u.id === member.id);
@@ -57,7 +54,7 @@ class EntraM365GroupUserListCommand extends GraphCommand {
57
54
  });
58
55
  }
59
56
  if (args.options.role) {
60
- users = users.filter(i => i.userType === args.options.role);
57
+ users = users.filter(i => i.roles.indexOf(args.options.role) > -1);
61
58
  }
62
59
  await logger.log(users);
63
60
  }
@@ -128,7 +125,7 @@ _EntraM365GroupUserListCommand_instances = new WeakSet(), _EntraM365GroupUserLis
128
125
  option: "-n, --groupDisplayName [groupDisplayName]"
129
126
  }, {
130
127
  option: "-r, --role [type]",
131
- autocomplete: ["Owner", "Member", "Guest"]
128
+ autocomplete: ["Owner", "Member"]
132
129
  }, {
133
130
  option: "-p, --properties [properties]"
134
131
  }, {
@@ -144,8 +141,8 @@ _EntraM365GroupUserListCommand_instances = new WeakSet(), _EntraM365GroupUserLis
144
141
  return `${args.options.groupId} is not a valid GUID`;
145
142
  }
146
143
  if (args.options.role) {
147
- if (['Owner', 'Member', 'Guest'].indexOf(args.options.role) === -1) {
148
- return `${args.options.role} is not a valid role value. Allowed values Owner|Member|Guest`;
144
+ if (['Owner', 'Member'].indexOf(args.options.role) === -1) {
145
+ return `${args.options.role} is not a valid role value. Allowed values Owner|Member`;
149
146
  }
150
147
  }
151
148
  return true;
@@ -4,8 +4,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
6
  var _EntraOAuth2GrantListCommand_instances, _EntraOAuth2GrantListCommand_initOptions, _EntraOAuth2GrantListCommand_initValidators;
7
- import request from '../../../../request.js';
8
7
  import { formatting } from '../../../../utils/formatting.js';
8
+ import { odata } from '../../../../utils/odata.js';
9
9
  import { validation } from '../../../../utils/validation.js';
10
10
  import GraphCommand from '../../../base/GraphCommand.js';
11
11
  import aadCommands from '../../aadCommands.js';
@@ -35,17 +35,8 @@ class EntraOAuth2GrantListCommand extends GraphCommand {
35
35
  await logger.logToStderr(`Retrieving list of OAuth grants for the service principal...`);
36
36
  }
37
37
  try {
38
- const requestOptions = {
39
- url: `${this.resource}/v1.0/oauth2PermissionGrants?$filter=clientId eq '${formatting.encodeQueryParameter(args.options.spObjectId)}'`,
40
- headers: {
41
- accept: 'application/json;odata.metadata=none'
42
- },
43
- responseType: 'json'
44
- };
45
- const res = await request.get(requestOptions);
46
- if (res.value && res.value.length > 0) {
47
- await logger.log(res.value);
48
- }
38
+ const res = await odata.getAllItems(`${this.resource}/v1.0/oauth2PermissionGrants?$filter=clientId eq '${formatting.encodeQueryParameter(args.options.spObjectId)}'`);
39
+ await logger.log(res);
49
40
  }
50
41
  catch (err) {
51
42
  this.handleRejectedODataJsonPromise(err);
@@ -41,9 +41,9 @@ export default {
41
41
  GROUP_LIST: `${prefix} group list`,
42
42
  GROUP_REMOVE: `${prefix} group remove`,
43
43
  GROUP_SET: `${prefix} group set`,
44
- GROUP_USER_ADD: `${prefix} group user add`,
45
- GROUP_USER_LIST: `${prefix} group user list`,
46
- GROUP_USER_SET: `${prefix} group user set`,
44
+ GROUP_MEMBER_ADD: `${prefix} group member add`,
45
+ GROUP_MEMBER_LIST: `${prefix} group member list`,
46
+ GROUP_MEMBER_SET: `${prefix} group member set`,
47
47
  GROUPSETTING_ADD: `${prefix} groupsetting add`,
48
48
  GROUPSETTING_GET: `${prefix} groupsetting get`,
49
49
  GROUPSETTING_LIST: `${prefix} groupsetting list`,
@@ -23,8 +23,8 @@ class FlowEnvironmentListCommand extends PowerAutomateCommand {
23
23
  e.displayName = e.properties.displayName;
24
24
  });
25
25
  }
26
- await logger.log(res);
27
26
  }
27
+ await logger.log(res);
28
28
  }
29
29
  catch (err) {
30
30
  this.handleRejectedODataJsonPromise(err);
@@ -30,20 +30,20 @@ class OutlookMessageGetCommand extends GraphCommand {
30
30
  }
31
31
  let requestUrl = '';
32
32
  if (isAppOnlyAccessToken) {
33
- if (!args.options.userId && !args.options.userPrincipalName) {
34
- throw `The option 'userId' or 'userPrincipalName' is required when retrieving an email using app only credentials`;
33
+ if (!args.options.userId && !args.options.userName) {
34
+ throw `The option 'userId' or 'userName' is required when retrieving an email using app only credentials`;
35
35
  }
36
- if (args.options.userId && args.options.userPrincipalName) {
37
- throw `Both options 'userId' and 'userPrincipalName' cannot be set when retrieving an email using app only credentials`;
36
+ if (args.options.userId && args.options.userName) {
37
+ throw `Both options 'userId' and 'userName' cannot be set when retrieving an email using app only credentials`;
38
38
  }
39
- requestUrl += `users/${args.options.userId ? args.options.userId : args.options.userPrincipalName}`;
39
+ requestUrl += `users/${args.options.userId ? args.options.userId : args.options.userName}`;
40
40
  }
41
41
  else {
42
- if (args.options.userId && args.options.userPrincipalName) {
43
- throw `Both options 'userId' and 'userPrincipalName' cannot be set when retrieving an email using delegated credentials`;
42
+ if (args.options.userId && args.options.userName) {
43
+ throw `Both options 'userId' and 'userName' cannot be set when retrieving an email using delegated credentials`;
44
44
  }
45
- if (args.options.userId || args.options.userPrincipalName) {
46
- requestUrl += `users/${args.options.userId ? args.options.userId : args.options.userPrincipalName}`;
45
+ if (args.options.userId || args.options.userName) {
46
+ requestUrl += `users/${args.options.userId ? args.options.userId : args.options.userName}`;
47
47
  }
48
48
  else {
49
49
  requestUrl += 'me';
@@ -69,7 +69,7 @@ _OutlookMessageGetCommand_instances = new WeakSet(), _OutlookMessageGetCommand_i
69
69
  this.telemetry.push((args) => {
70
70
  Object.assign(this.telemetryProperties, {
71
71
  userId: typeof args.options.userId !== 'undefined',
72
- userPrincipalName: typeof args.options.userPrincipalName !== 'undefined'
72
+ userName: typeof args.options.userName !== 'undefined'
73
73
  });
74
74
  });
75
75
  }, _OutlookMessageGetCommand_initOptions = function _OutlookMessageGetCommand_initOptions() {
@@ -78,7 +78,7 @@ _OutlookMessageGetCommand_instances = new WeakSet(), _OutlookMessageGetCommand_i
78
78
  }, {
79
79
  option: '--userId [userId]'
80
80
  }, {
81
- option: '--userPrincipalName [userPrincipalName]'
81
+ option: '--userName [userName]'
82
82
  });
83
83
  };
84
84
  export default new OutlookMessageGetCommand();
@@ -33,13 +33,8 @@ class PaAppListCommand extends PowerAppsCommand {
33
33
  apps.forEach(a => {
34
34
  a.displayName = a.properties.displayName;
35
35
  });
36
- await logger.log(apps);
37
- }
38
- else {
39
- if (this.verbose) {
40
- await logger.logToStderr('No apps found');
41
- }
42
36
  }
37
+ await logger.log(apps);
43
38
  }
44
39
  catch (err) {
45
40
  this.handleRejectedODataJsonPromise(err);
@@ -35,13 +35,8 @@ class PaConnectorListCommand extends PowerAppsCommand {
35
35
  connectors.forEach(c => {
36
36
  c.displayName = c.properties.displayName;
37
37
  });
38
- await logger.log(connectors);
39
- }
40
- else {
41
- if (this.verbose) {
42
- await logger.logToStderr('No custom connectors found');
43
- }
44
38
  }
39
+ await logger.log(connectors);
45
40
  }
46
41
  catch (err) {
47
42
  this.handleRejectedODataJsonPromise(err);
@@ -28,8 +28,8 @@ class PaEnvironmentListCommand extends PowerAppsCommand {
28
28
  res.value.forEach(e => {
29
29
  e.displayName = e.properties.displayName;
30
30
  });
31
- await logger.log(res.value);
32
31
  }
32
+ await logger.log(res.value);
33
33
  }
34
34
  catch (err) {
35
35
  this.handleRejectedODataJsonPromise(err);
@@ -47,8 +47,8 @@ class PpEnvironmentListCommand extends PowerPlatformCommand {
47
47
  res.value.forEach(e => {
48
48
  e.displayName = e.properties.displayName;
49
49
  });
50
- await logger.log(res.value);
51
50
  }
51
+ await logger.log(res.value);
52
52
  }
53
53
  catch (err) {
54
54
  this.handleRejectedODataJsonPromise(err);
@@ -46,7 +46,7 @@ export const workflow = {
46
46
  with: {
47
47
  "APP_FILE_PATH": "sharepoint/solution/{{ solutionName }}.sppkg",
48
48
  "SKIP_FEATURE_DEPLOYMENT": false,
49
- "OVERWRITE": false
49
+ "OVERWRITE": true
50
50
  }
51
51
  }
52
52
  ]
@@ -33,9 +33,6 @@ class SpfxProjectGithubWorkflowAddCommand extends BaseProjectCommand {
33
33
  if (this.projectRootPath === null) {
34
34
  throw new CommandError(`Couldn't find project root folder`, _a.ERROR_NO_PROJECT_ROOT_FOLDER);
35
35
  }
36
- if (!args.options.overwrite) {
37
- await this.warn(logger, `We recommend always using the --overwrite option and it will become the default behavior in next major release. Overwriting your sppkg file on every deployment is required to make continuous delivery of the latest version of your app which is the aim of the continuous delivery pipeline.`);
38
- }
39
36
  const solutionPackageJsonFile = path.join(this.projectRootPath, 'package.json');
40
37
  const packageJson = fs.readFileSync(solutionPackageJsonFile, 'utf-8');
41
38
  const solutionName = JSON.parse(packageJson).name;
@@ -81,9 +78,6 @@ class SpfxProjectGithubWorkflowAddCommand extends BaseProjectCommand {
81
78
  if (options.skipFeatureDeployment) {
82
79
  this.getDeployAction(workflow).with.SKIP_FEATURE_DEPLOYMENT = true;
83
80
  }
84
- if (options.overwrite) {
85
- this.getDeployAction(workflow).with.OVERWRITE = true;
86
- }
87
81
  if (options.loginMethod === 'user') {
88
82
  const loginAction = this.getLoginAction(workflow);
89
83
  loginAction.with = {
@@ -125,8 +119,7 @@ _a = SpfxProjectGithubWorkflowAddCommand, _SpfxProjectGithubWorkflowAddCommand_i
125
119
  manuallyTrigger: !!args.options.manuallyTrigger,
126
120
  loginMethod: typeof args.options.loginMethod !== 'undefined',
127
121
  scope: typeof args.options.scope !== 'undefined',
128
- skipFeatureDeployment: !!args.options.skipFeatureDeployment,
129
- overwrite: !!args.options.overwrite
122
+ skipFeatureDeployment: !!args.options.skipFeatureDeployment
130
123
  });
131
124
  });
132
125
  }, _SpfxProjectGithubWorkflowAddCommand_initOptions = function _SpfxProjectGithubWorkflowAddCommand_initOptions() {
@@ -146,8 +139,6 @@ _a = SpfxProjectGithubWorkflowAddCommand, _SpfxProjectGithubWorkflowAddCommand_i
146
139
  option: '-u, --siteUrl [siteUrl]'
147
140
  }, {
148
141
  option: '--skipFeatureDeployment'
149
- }, {
150
- option: '--overwrite'
151
142
  });
152
143
  }, _SpfxProjectGithubWorkflowAddCommand_initValidators = function _SpfxProjectGithubWorkflowAddCommand_initValidators() {
153
144
  this.validators.push(async (args) => {
@@ -4,7 +4,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
6
  var _SpoAppInStanceListCommand_instances, _SpoAppInStanceListCommand_initOptions, _SpoAppInStanceListCommand_initValidators;
7
- import request from '../../../../request.js';
7
+ import { odata } from '../../../../utils/odata.js';
8
8
  import { validation } from '../../../../utils/validation.js';
9
9
  import commands from '../../commands.js';
10
10
  import { SpoAppBaseCommand } from './SpoAppBaseCommand.js';
@@ -28,24 +28,9 @@ class SpoAppInStanceListCommand extends SpoAppBaseCommand {
28
28
  if (this.verbose) {
29
29
  await logger.logToStderr(`Retrieving installed apps in site at ${args.options.siteUrl}...`);
30
30
  }
31
- const requestOptions = {
32
- url: `${args.options.siteUrl}/_api/web/AppTiles?$filter=AppType eq 3`,
33
- method: 'GET',
34
- headers: {
35
- 'accept': 'application/json;odata=nometadata'
36
- },
37
- responseType: 'json'
38
- };
39
31
  try {
40
- const apps = await request.get(requestOptions);
41
- if (apps.value && apps.value.length > 0) {
42
- await logger.log(apps.value);
43
- }
44
- else {
45
- if (this.verbose) {
46
- await logger.logToStderr('No apps found');
47
- }
48
- }
32
+ const apps = await odata.getAllItems(`${args.options.siteUrl}/_api/web/AppTiles?$filter=AppType eq 3`);
33
+ await logger.log(apps);
49
34
  }
50
35
  catch (err) {
51
36
  this.handleRejectedODataJsonPromise(err);
@@ -37,14 +37,7 @@ class SpoAppListCommand extends SpoAppBaseCommand {
37
37
  await logger.logToStderr(`Retrieving apps...`);
38
38
  }
39
39
  const apps = await odata.getAllItems(`${appCatalogSiteUrl}/_api/web/${scope}appcatalog/AvailableApps`);
40
- if (apps && apps.length > 0) {
41
- await logger.log(apps);
42
- }
43
- else {
44
- if (this.verbose) {
45
- await logger.logToStderr('No apps found');
46
- }
47
- }
40
+ await logger.log(apps);
48
41
  }
49
42
  catch (err) {
50
43
  this.handleRejectedODataJsonPromise(err);
@@ -33,7 +33,6 @@ class SpoApplicationCustomizerGetCommand extends SpoCommand {
33
33
  if (!args.options.clientSideComponentProperties) {
34
34
  await logger.log({
35
35
  ...customAction,
36
- Rights: JSON.stringify(customAction.Rights),
37
36
  Scope: this.humanizeScope(customAction.Scope)
38
37
  });
39
38
  }
@@ -78,15 +78,15 @@ class SpoContentTypeFieldRemoveCommand extends SpoCommand {
78
78
  const updateChildContentTypes = args.options.listTitle || args.options.listId || args.options.listUrl ? false : args.options.updateChildContentTypes === true;
79
79
  if (this.debug) {
80
80
  const additionalLog = args.options.listTitle ? `; ListTitle='${args.options.listTitle}'` : args.options.listId ? `; ListId='${args.options.listId}'` : args.options.listUrl ? `; ListUrl='${args.options.listUrl}'` : ` ; UpdateChildContentTypes='${updateChildContentTypes}`;
81
- await logger.logToStderr(`Remove FieldLink from ContentType. FieldLinkId='${args.options.fieldLinkId}' ; ContentTypeId='${args.options.contentTypeId}' ${additionalLog}`);
81
+ await logger.logToStderr(`Remove FieldLink from ContentType. Id='${args.options.id}' ; ContentTypeId='${args.options.contentTypeId}' ${additionalLog}`);
82
82
  await logger.logToStderr(`Execute ProcessQuery.`);
83
83
  }
84
84
  let requestBody = '';
85
85
  if (listId) {
86
- requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="18" ObjectPathId="17" /><ObjectPath Id="20" ObjectPathId="19" /><Method Name="DeleteObject" Id="21" ObjectPathId="19" /><Method Name="Update" Id="22" ObjectPathId="15"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="17" ParentId="15" Name="FieldLinks" /><Method Id="19" ParentId="17" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.fieldLinkId)}}</Parameter></Parameters></Method><Identity Id="15" Name="09eec89e-709b-0000-558c-c222dcaf9162|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${siteId}:web:${webId}:list:${listId}:contenttype:${formatting.escapeXml(args.options.contentTypeId)}" /></ObjectPaths></Request>`;
86
+ requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="18" ObjectPathId="17" /><ObjectPath Id="20" ObjectPathId="19" /><Method Name="DeleteObject" Id="21" ObjectPathId="19" /><Method Name="Update" Id="22" ObjectPathId="15"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="17" ParentId="15" Name="FieldLinks" /><Method Id="19" ParentId="17" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.id)}}</Parameter></Parameters></Method><Identity Id="15" Name="09eec89e-709b-0000-558c-c222dcaf9162|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${siteId}:web:${webId}:list:${listId}:contenttype:${formatting.escapeXml(args.options.contentTypeId)}" /></ObjectPaths></Request>`;
87
87
  }
88
88
  else {
89
- requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="77" ObjectPathId="76" /><ObjectPath Id="79" ObjectPathId="78" /><Method Name="DeleteObject" Id="80" ObjectPathId="78" /><Method Name="Update" Id="81" ObjectPathId="24"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="76" ParentId="24" Name="FieldLinks" /><Method Id="78" ParentId="76" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.fieldLinkId)}}</Parameter></Parameters></Method><Identity Id="24" Name="6b3ec69e-00a7-0000-55a3-61f8d779d2b3|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${siteId}:web:${webId}:contenttype:${formatting.escapeXml(args.options.contentTypeId)}" /></ObjectPaths></Request>`;
89
+ requestBody = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="77" ObjectPathId="76" /><ObjectPath Id="79" ObjectPathId="78" /><Method Name="DeleteObject" Id="80" ObjectPathId="78" /><Method Name="Update" Id="81" ObjectPathId="24"><Parameters><Parameter Type="Boolean">${updateChildContentTypes}</Parameter></Parameters></Method></Actions><ObjectPaths><Property Id="76" ParentId="24" Name="FieldLinks" /><Method Id="78" ParentId="76" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting.escapeXml(args.options.id)}}</Parameter></Parameters></Method><Identity Id="24" Name="6b3ec69e-00a7-0000-55a3-61f8d779d2b3|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${siteId}:web:${webId}:contenttype:${formatting.escapeXml(args.options.contentTypeId)}" /></ObjectPaths></Request>`;
90
90
  }
91
91
  requestOptions = {
92
92
  url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
@@ -110,7 +110,7 @@ class SpoContentTypeFieldRemoveCommand extends SpoCommand {
110
110
  await removeFieldLink();
111
111
  }
112
112
  else {
113
- const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove the column ${args.options.fieldLinkId} from content type ${args.options.contentTypeId}?` });
113
+ const result = await cli.promptForConfirmation({ message: `Are you sure you want to remove the column ${args.options.id} from content type ${args.options.contentTypeId}?` });
114
114
  if (result) {
115
115
  await removeFieldLink();
116
116
  }
@@ -160,9 +160,9 @@ _SpoContentTypeFieldRemoveCommand_instances = new WeakSet(), _SpoContentTypeFiel
160
160
  }, {
161
161
  option: '--listUrl [listUrl]'
162
162
  }, {
163
- option: '-i, --contentTypeId <contentTypeId>'
163
+ option: '--contentTypeId <contentTypeId>'
164
164
  }, {
165
- option: '--fieldLinkId <fieldLinkId>'
165
+ option: '-i, --id <id>'
166
166
  }, {
167
167
  option: '-c, --updateChildContentTypes'
168
168
  }, {
@@ -170,8 +170,8 @@ _SpoContentTypeFieldRemoveCommand_instances = new WeakSet(), _SpoContentTypeFiel
170
170
  });
171
171
  }, _SpoContentTypeFieldRemoveCommand_initValidators = function _SpoContentTypeFieldRemoveCommand_initValidators() {
172
172
  this.validators.push(async (args) => {
173
- if (!validation.isValidGuid(args.options.fieldLinkId)) {
174
- return `${args.options.fieldLinkId} is not a valid GUID`;
173
+ if (!validation.isValidGuid(args.options.id)) {
174
+ return `${args.options.id} is not a valid GUID`;
175
175
  }
176
176
  if (args.options.listId && !validation.isValidGuid(args.options.listId)) {
177
177
  return `${args.options.listId} is not a valid GUID`;
@@ -262,9 +262,9 @@ _SpoContentTypeFieldSetCommand_instances = new WeakSet(), _SpoContentTypeFieldSe
262
262
  this.options.unshift({
263
263
  option: '-u, --webUrl <webUrl>'
264
264
  }, {
265
- option: '-c, --contentTypeId <contentTypeId>'
265
+ option: '--contentTypeId <contentTypeId>'
266
266
  }, {
267
- option: '--id <id>'
267
+ option: '-i, --id <id>'
268
268
  }, {
269
269
  option: '-r, --required [required]',
270
270
  autocomplete: ['true', 'false']
@@ -26,14 +26,7 @@ class SpoFeatureListCommand extends SpoCommand {
26
26
  const scope = (args.options.scope) ? args.options.scope : 'Web';
27
27
  try {
28
28
  const features = await odata.getAllItems(`${args.options.webUrl}/_api/${scope}/Features?$select=DisplayName,DefinitionId`);
29
- if (features && features.length > 0) {
30
- await logger.log(features);
31
- }
32
- else {
33
- if (this.verbose) {
34
- await logger.logToStderr('No activated Features found');
35
- }
36
- }
29
+ await logger.log(features);
37
30
  }
38
31
  catch (err) {
39
32
  this.handleRejectedODataJsonPromise(err);