@pnp/cli-microsoft365 10.0.0-beta.d54aaac → 10.0.0-beta.da65889

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 (77) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/Auth.js +3 -3
  4. package/dist/AuthServer.js +7 -7
  5. package/dist/api.js +1 -1
  6. package/dist/config.js +1 -0
  7. package/dist/m365/cli/commands/cli-doctor.js +2 -2
  8. package/dist/m365/cli/commands.js +1 -2
  9. package/dist/m365/commands/login.js +120 -67
  10. package/dist/m365/entra/commands/group/{group-user-add.js → group-member-add.js} +18 -18
  11. package/dist/m365/entra/commands/group/{group-user-list.js → group-member-list.js} +17 -17
  12. package/dist/m365/entra/commands/group/{group-user-set.js → group-member-set.js} +19 -19
  13. package/dist/m365/entra/commands/m365group/m365group-set.js +24 -16
  14. package/dist/m365/entra/commands/m365group/m365group-user-add.js +5 -12
  15. package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +3 -12
  16. package/dist/m365/entra/commands.js +3 -3
  17. package/dist/m365/external/commands/item/item-add.js +2 -5
  18. package/dist/m365/flow/commands/environment/environment-list.js +1 -1
  19. package/dist/m365/pa/commands/app/app-list.js +1 -6
  20. package/dist/m365/pa/commands/connector/connector-list.js +1 -6
  21. package/dist/m365/pa/commands/environment/environment-list.js +1 -1
  22. package/dist/m365/pp/commands/environment/environment-list.js +1 -1
  23. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.20.0-rc.1.js → doctor-1.20.0.js} +4 -2
  24. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002021_DEVDEP_rushstack_eslint_config.js +10 -0
  25. package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
  26. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.20.0-rc.1.js → upgrade-1.20.0.js} +28 -26
  27. package/dist/m365/spfx/commands/project/project-upgrade.js +13 -15
  28. package/dist/m365/spfx/commands/spfx-doctor.js +1 -1
  29. package/dist/m365/spo/commands/app/app-instance-list.js +3 -18
  30. package/dist/m365/spo/commands/app/app-list.js +1 -8
  31. package/dist/m365/spo/commands/feature/feature-list.js +1 -8
  32. package/dist/m365/spo/commands/file/file-copy.js +5 -1
  33. package/dist/m365/spo/commands/file/file-move.js +55 -33
  34. package/dist/m365/spo/commands/list/list-webhook-list.js +1 -6
  35. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +1 -8
  36. package/dist/m365/spo/commands/page/page-list.js +1 -1
  37. package/dist/m365/spo/commands/page/page-remove.js +37 -16
  38. package/dist/m365/spo/commands/page/page-template-list.js +1 -3
  39. package/dist/m365/spo/commands/site/site-admin-list.js +8 -9
  40. package/dist/m365/spo/commands/site/site-admin-remove.js +5 -4
  41. package/dist/m365/spo/commands/site/site-sharingpermission-set.js +68 -0
  42. package/dist/m365/spo/commands/sitescript/sitescript-get.js +3 -2
  43. package/dist/m365/spo/commands/sitescript/sitescript-list.js +1 -3
  44. package/dist/m365/spo/commands/{site/site-rename.js → tenant/tenant-site-rename.js} +29 -32
  45. package/dist/m365/spo/commands/theme/theme-list.js +1 -1
  46. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +1 -6
  47. package/dist/m365/spo/commands.js +2 -1
  48. package/dist/m365/teams/commands/tab/tab-list.js +5 -3
  49. package/dist/m365/viva/commands/engage/Community.js +2 -0
  50. package/dist/m365/viva/commands/engage/engage-community-list.js +28 -0
  51. package/dist/m365/viva/commands.js +1 -0
  52. package/dist/request.js +46 -61
  53. package/dist/utils/spo.js +8 -8
  54. package/dist/utils/timersUtil.js +12 -0
  55. package/dist/utils/urlUtil.js +8 -0
  56. package/docs/docs/cmd/cli/cli-doctor.mdx +24 -23
  57. package/docs/docs/cmd/entra/group/group-member-add.mdx +62 -0
  58. package/docs/docs/cmd/entra/group/{group-user-list.mdx → group-member-list.mdx} +14 -14
  59. package/docs/docs/cmd/entra/group/group-member-set.mdx +62 -0
  60. package/docs/docs/cmd/entra/m365group/m365group-set.mdx +9 -6
  61. package/docs/docs/cmd/entra/m365group/m365group-user-add.mdx +0 -3
  62. package/docs/docs/cmd/external/item/item-add.mdx +3 -3
  63. package/docs/docs/cmd/login.mdx +9 -0
  64. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  65. package/docs/docs/cmd/spo/file/file-move.mdx +116 -9
  66. package/docs/docs/cmd/spo/page/page-remove.mdx +30 -12
  67. package/docs/docs/cmd/spo/site/site-admin-list.mdx +64 -12
  68. package/docs/docs/cmd/spo/site/site-sharingpermission-set.mdx +58 -0
  69. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +14 -1
  70. package/docs/docs/cmd/spo/{site/site-rename.mdx → tenant/tenant-site-rename.mdx} +7 -7
  71. package/docs/docs/cmd/teams/tab/tab-list.mdx +1 -2
  72. package/docs/docs/cmd/viva/engage/engage-community-list.mdx +81 -0
  73. package/package.json +1 -1
  74. package/dist/m365/cli/commands/cli-reconsent.js +0 -29
  75. package/docs/docs/cmd/cli/cli-reconsent.mdx +0 -62
  76. package/docs/docs/cmd/entra/group/group-user-add.mdx +0 -62
  77. package/docs/docs/cmd/entra/group/group-user-set.mdx +0 -62
@@ -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
@@ -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`,
@@ -45,8 +45,7 @@ class ExternalItemAddCommand extends GraphCommand {
45
45
  properties: {}
46
46
  };
47
47
  // we need to rewrite the @odata properties to the correct format
48
- // because . in @odata.type is interpreted by minimist as a child property
49
- // we also need to extract multiple values for collections into arrays
48
+ // to extract multiple values for collections into arrays
50
49
  this.rewriteCollectionProperties(args.options);
51
50
  this.addUnknownOptionsToPayload(requestBody.properties, args.options);
52
51
  const requestOptions = {
@@ -81,11 +80,9 @@ class ExternalItemAddCommand extends GraphCommand {
81
80
  }
82
81
  rewriteCollectionProperties(options) {
83
82
  Object.getOwnPropertyNames(options).forEach(name => {
84
- if (!name.endsWith('@odata')) {
83
+ if (!name.includes('@odata')) {
85
84
  return;
86
85
  }
87
- options[`${name}.type`] = options[name].type;
88
- delete options[name];
89
86
  // convert the value of a collection to an array
90
87
  const nameWithoutOData = name.substring(0, name.indexOf('@odata'));
91
88
  if (options[nameWithoutOData]) {
@@ -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);
@@ -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);
@@ -1,3 +1,4 @@
1
+ import { FN002021_DEVDEP_rushstack_eslint_config } from '../project-upgrade/rules/FN002021_DEVDEP_rushstack_eslint_config.js';
1
2
  import { FN001008_DEP_react } from './rules/FN001008_DEP_react.js';
2
3
  import { FN001009_DEP_react_dom } from './rules/FN001009_DEP_react_dom.js';
3
4
  import { FN001035_DEP_fluentui_react } from './rules/FN001035_DEP_fluentui_react.js';
@@ -19,7 +20,8 @@ export default [
19
20
  new FN002015_DEVDEP_types_react('17'),
20
21
  new FN002016_DEVDEP_types_react_dom('17'),
21
22
  new FN002019_DEVDEP_microsoft_rush_stack_compiler(['4.7']),
23
+ new FN002021_DEVDEP_rushstack_eslint_config('4.0.1'),
22
24
  new FN021001_PKG_spfx_deps_versions_match_project_version(false),
23
- new FN021013_PKG_spfx_devdeps_match_version('1.20.1')
25
+ new FN021013_PKG_spfx_devdeps_match_version('1.20.2')
24
26
  ];
25
- //# sourceMappingURL=doctor-1.20.0-rc.1.js.map
27
+ //# sourceMappingURL=doctor-1.20.0.js.map
@@ -0,0 +1,10 @@
1
+ import { DependencyRule } from './DependencyRule.js';
2
+ export class FN002021_DEVDEP_rushstack_eslint_config extends DependencyRule {
3
+ constructor(supportedRange) {
4
+ super('@rushstack/eslint-config', supportedRange, true);
5
+ }
6
+ get id() {
7
+ return 'FN002021';
8
+ }
9
+ }
10
+ //# sourceMappingURL=FN002021_DEVDEP_rushstack_eslint_config.js.map
@@ -71,7 +71,7 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
71
71
  '1.18.1',
72
72
  '1.18.2',
73
73
  '1.19.0',
74
- '1.20.0-rc.1'
74
+ '1.20.0'
75
75
  ];
76
76
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initTelemetry).call(this);
77
77
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initOptions).call(this);
@@ -20,38 +20,40 @@ import { FN001032_DEP_microsoft_sp_page_context } from './rules/FN001032_DEP_mic
20
20
  import { FN001034_DEP_microsoft_sp_adaptive_card_extension_base } from './rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js';
21
21
  import { FN002001_DEVDEP_microsoft_sp_build_web } from './rules/FN002001_DEVDEP_microsoft_sp_build_web.js';
22
22
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
23
+ import { FN002021_DEVDEP_rushstack_eslint_config } from './rules/FN002021_DEVDEP_rushstack_eslint_config.js';
23
24
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
24
25
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
25
26
  import { FN002024_DEVDEP_eslint } from './rules/FN002024_DEVDEP_eslint.js';
26
27
  import { FN010001_YORC_version } from './rules/FN010001_YORC_version.js';
27
28
  import { FN010010_YORC_sdkVersions_teams_js } from './rules/FN010010_YORC_sdkVersions_teams_js.js';
28
29
  export default [
29
- new FN001001_DEP_microsoft_sp_core_library('1.20.0-rc.1'),
30
- new FN001002_DEP_microsoft_sp_lodash_subset('1.20.0-rc.1'),
31
- new FN001003_DEP_microsoft_sp_office_ui_fabric_core('1.20.0-rc.1'),
32
- new FN001004_DEP_microsoft_sp_webpart_base('1.20.0-rc.1'),
33
- new FN001011_DEP_microsoft_sp_dialog('1.20.0-rc.1'),
34
- new FN001012_DEP_microsoft_sp_application_base('1.20.0-rc.1'),
35
- new FN001014_DEP_microsoft_sp_listview_extensibility('1.20.0-rc.1'),
36
- new FN001021_DEP_microsoft_sp_property_pane('1.20.0-rc.1'),
37
- new FN001023_DEP_microsoft_sp_component_base('1.20.0-rc.1'),
38
- new FN001024_DEP_microsoft_sp_diagnostics('1.20.0-rc.1'),
39
- new FN001025_DEP_microsoft_sp_dynamic_data('1.20.0-rc.1'),
40
- new FN001026_DEP_microsoft_sp_extension_base('1.20.0-rc.1'),
41
- new FN001027_DEP_microsoft_sp_http('1.20.0-rc.1'),
42
- new FN001028_DEP_microsoft_sp_list_subscription('1.20.0-rc.1'),
43
- new FN001029_DEP_microsoft_sp_loader('1.20.0-rc.1'),
44
- new FN001030_DEP_microsoft_sp_module_interfaces('1.20.0-rc.1'),
45
- new FN001031_DEP_microsoft_sp_odata_types('1.20.0-rc.1'),
46
- new FN001032_DEP_microsoft_sp_page_context('1.20.0-rc.1'),
47
- new FN001013_DEP_microsoft_decorators('1.20.0-rc.1'),
48
- new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.20.0-rc.1'),
49
- new FN002001_DEVDEP_microsoft_sp_build_web('1.20.1'),
50
- new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.20.1'),
30
+ new FN001001_DEP_microsoft_sp_core_library('1.20.0'),
31
+ new FN001002_DEP_microsoft_sp_lodash_subset('1.20.0'),
32
+ new FN001003_DEP_microsoft_sp_office_ui_fabric_core('1.20.0'),
33
+ new FN001004_DEP_microsoft_sp_webpart_base('1.20.0'),
34
+ new FN001011_DEP_microsoft_sp_dialog('1.20.0'),
35
+ new FN001012_DEP_microsoft_sp_application_base('1.20.0'),
36
+ new FN001014_DEP_microsoft_sp_listview_extensibility('1.20.0'),
37
+ new FN001021_DEP_microsoft_sp_property_pane('1.20.0'),
38
+ new FN001023_DEP_microsoft_sp_component_base('1.20.0'),
39
+ new FN001024_DEP_microsoft_sp_diagnostics('1.20.0'),
40
+ new FN001025_DEP_microsoft_sp_dynamic_data('1.20.0'),
41
+ new FN001026_DEP_microsoft_sp_extension_base('1.20.0'),
42
+ new FN001027_DEP_microsoft_sp_http('1.20.0'),
43
+ new FN001028_DEP_microsoft_sp_list_subscription('1.20.0'),
44
+ new FN001029_DEP_microsoft_sp_loader('1.20.0'),
45
+ new FN001030_DEP_microsoft_sp_module_interfaces('1.20.0'),
46
+ new FN001031_DEP_microsoft_sp_odata_types('1.20.0'),
47
+ new FN001032_DEP_microsoft_sp_page_context('1.20.0'),
48
+ new FN001013_DEP_microsoft_decorators('1.20.0'),
49
+ new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.20.0'),
50
+ new FN002001_DEVDEP_microsoft_sp_build_web('1.20.2'),
51
+ new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.20.2'),
52
+ new FN002021_DEVDEP_rushstack_eslint_config('4.0.1'),
51
53
  new FN002024_DEVDEP_eslint('8.57.0'),
52
- new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.20.1'),
53
- new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.20.1'),
54
- new FN010001_YORC_version('1.20.0-rc.1'),
54
+ new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.20.2'),
55
+ new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.20.2'),
56
+ new FN010001_YORC_version('1.20.0'),
55
57
  new FN010010_YORC_sdkVersions_teams_js('2.24.0')
56
58
  ];
57
- //# sourceMappingURL=upgrade-1.20.0-rc.1.js.map
59
+ //# sourceMappingURL=upgrade-1.20.0.js.map
@@ -7,8 +7,6 @@ var _SpfxProjectUpgradeCommand_instances, _a, _SpfxProjectUpgradeCommand_initTel
7
7
  import fs from 'fs';
8
8
  import os from 'os';
9
9
  import path from 'path';
10
- // uncomment to support upgrading to preview releases
11
- import { prerelease } from 'semver';
12
10
  import { CommandError } from '../../../../Command.js';
13
11
  import { fsUtil } from '../../../../utils/fsUtil.js';
14
12
  import { packageManager } from '../../../../utils/packageManager.js';
@@ -75,7 +73,7 @@ class SpfxProjectUpgradeCommand extends BaseProjectCommand {
75
73
  '1.18.1',
76
74
  '1.18.2',
77
75
  '1.19.0',
78
- '1.20.0-rc.1'
76
+ '1.20.0'
79
77
  ];
80
78
  __classPrivateFieldGet(this, _SpfxProjectUpgradeCommand_instances, "m", _SpfxProjectUpgradeCommand_initTelemetry).call(this);
81
79
  __classPrivateFieldGet(this, _SpfxProjectUpgradeCommand_instances, "m", _SpfxProjectUpgradeCommand_initOptions).call(this);
@@ -88,15 +86,15 @@ class SpfxProjectUpgradeCommand extends BaseProjectCommand {
88
86
  }
89
87
  this.toVersion = args.options.toVersion ? args.options.toVersion : this.supportedVersions[this.supportedVersions.length - 1];
90
88
  // uncomment to support upgrading to preview releases
91
- if (!args.options.toVersion &&
92
- !args.options.preview &&
93
- prerelease(this.toVersion)) {
94
- // no version and no preview specified while the current version to
95
- // upgrade to is a prerelease so let's grab the first non-preview version
96
- // since we're supporting only one preview version, it's sufficient for
97
- // us to take second to last version
98
- this.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
99
- }
89
+ // if (!args.options.toVersion &&
90
+ // !args.options.preview &&
91
+ // prerelease(this.toVersion)) {
92
+ // // no version and no preview specified while the current version to
93
+ // // upgrade to is a prerelease so let's grab the first non-preview version
94
+ // // since we're supporting only one preview version, it's sufficient for
95
+ // // us to take second to last version
96
+ // this.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
97
+ // }
100
98
  this.packageManager = args.options.packageManager || 'npm';
101
99
  this.shell = args.options.shell || 'bash';
102
100
  if (this.supportedVersions.indexOf(this.toVersion) < 0) {
@@ -485,9 +483,9 @@ _a = SpfxProjectUpgradeCommand, _SpfxProjectUpgradeCommand_instances = new WeakS
485
483
  preview: args.options.preview
486
484
  });
487
485
  // uncomment to support upgrading to preview releases
488
- if (prerelease(this.telemetryProperties.toVersion) && !args.options.preview) {
489
- this.telemetryProperties.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
490
- }
486
+ // if (prerelease(this.telemetryProperties.toVersion) && !args.options.preview) {
487
+ // this.telemetryProperties.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
488
+ // }
491
489
  });
492
490
  }, _SpfxProjectUpgradeCommand_initOptions = function _SpfxProjectUpgradeCommand_initOptions() {
493
491
  this.options.unshift({
@@ -576,7 +576,7 @@ class SpfxDoctorCommand extends BaseProjectCommand {
576
576
  fix: 'npm i -g yo@5'
577
577
  }
578
578
  },
579
- '1.20.0-rc.1': {
579
+ '1.20.0': {
580
580
  gulpCli: {
581
581
  range: '^1 || ^2 || ^3',
582
582
  fix: 'npm i -g gulp-cli@3'
@@ -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);
@@ -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);
@@ -27,6 +27,9 @@ class SpoFileCopyCommand extends SpoCommand {
27
27
  __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initOptionSets).call(this);
28
28
  __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initTypes).call(this);
29
29
  }
30
+ getExcludedOptionsWithUrls() {
31
+ return ['targetUrl', 'sourceUrl'];
32
+ }
30
33
  async commandAction(logger, args) {
31
34
  try {
32
35
  const sourceServerRelativePath = await this.getSourcePath(logger, args.options);
@@ -44,7 +47,8 @@ class SpoFileCopyCommand extends SpoCommand {
44
47
  nameConflictBehavior: this.getNameConflictBehaviorValue(args.options.nameConflictBehavior),
45
48
  bypassSharedLock: !!args.options.bypassSharedLock,
46
49
  ignoreVersionHistory: !!args.options.ignoreVersionHistory,
47
- newName: newName
50
+ newName: newName,
51
+ operation: 'copy'
48
52
  });
49
53
  if (args.options.skipWait) {
50
54
  return;