@pnp/cli-microsoft365 5.1.0-beta.6ab68db → 5.1.0-beta.7b2911b

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 (42) hide show
  1. package/.eslintrc.js +1 -0
  2. package/dist/Auth.js +10 -0
  3. package/dist/Command.js +3 -0
  4. package/dist/cli/Cli.js +13 -0
  5. package/dist/m365/aad/commands/app/app-add.js +68 -10
  6. package/dist/m365/aad/commands/app/{app-delete.js → app-remove.js} +9 -5
  7. package/dist/m365/aad/commands/app/{app-role-delete.js → app-role-remove.js} +11 -7
  8. package/dist/m365/aad/commands.js +3 -1
  9. package/dist/m365/base/PowerPlatformCommand.js +10 -0
  10. package/dist/m365/cli/commands/config/config-set.js +3 -2
  11. package/dist/m365/pp/commands/managementapp/managementapp-add.js +98 -0
  12. package/dist/m365/pp/commands.js +7 -0
  13. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001033_DEP_tslib.js +14 -0
  14. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023002_GITIGNORE_heft.js +40 -0
  15. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.12.0.js +0 -2
  16. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.0-beta.1.js +63 -0
  17. package/dist/m365/spfx/commands/project/project-upgrade.js +24 -19
  18. package/dist/m365/spfx/commands/spfx-doctor.js +6 -0
  19. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +66 -0
  20. package/dist/m365/spo/commands.js +1 -0
  21. package/dist/m365/tenant/commands.js +1 -6
  22. package/dist/settingsNames.js +1 -0
  23. package/dist/utils/formatting.js +3 -0
  24. package/docs/docs/cmd/aad/app/{app-delete.md → app-remove.md} +15 -9
  25. package/docs/docs/cmd/aad/app/{app-role-delete.md → app-role-remove.md} +25 -19
  26. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +50 -0
  27. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  28. package/docs/docs/cmd/spfx/spfx-doctor.md +4 -1
  29. package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.md +27 -0
  30. package/npm-shrinkwrap.json +270 -4
  31. package/package.json +4 -2
  32. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015006_FILE_editorconfig.js +0 -14
  33. package/dist/m365/tenant/commands/auditlog/auditlog-report.js +0 -231
  34. package/dist/m365/tenant/commands/service/service-list.js +0 -41
  35. package/dist/m365/tenant/commands/service/service-message-list.js +0 -55
  36. package/dist/m365/tenant/commands/service/service-report-historicalservicestatus.js +0 -54
  37. package/dist/m365/tenant/commands/status/status-list.js +0 -55
  38. package/docs/docs/cmd/tenant/auditlog/auditlog-report.md +0 -61
  39. package/docs/docs/cmd/tenant/service/service-list.md +0 -25
  40. package/docs/docs/cmd/tenant/service/service-message-list.md +0 -34
  41. package/docs/docs/cmd/tenant/service/service-report-historicalservicestatus.md +0 -38
  42. package/docs/docs/cmd/tenant/status/status-list.md +0 -34
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const fs = require("fs");
4
4
  const os = require("os");
5
5
  const path = require("path");
6
+ // uncomment to support upgrading to preview releases
7
+ const semver_1 = require("semver");
6
8
  const Command_1 = require("../../../../Command");
7
9
  const commands_1 = require("../../commands");
8
10
  const base_project_command_1 = require("./base-project-command");
@@ -43,7 +45,8 @@ class SpfxProjectUpgradeCommand extends base_project_command_1.BaseProjectComman
43
45
  '1.12.1',
44
46
  '1.13.0',
45
47
  '1.13.1',
46
- '1.14.0'
48
+ '1.14.0',
49
+ '1.15.0-beta.1'
47
50
  ];
48
51
  }
49
52
  get name() {
@@ -56,9 +59,9 @@ class SpfxProjectUpgradeCommand extends base_project_command_1.BaseProjectComman
56
59
  const telemetryProps = super.getTelemetryProperties(args);
57
60
  telemetryProps.toVersion = args.options.toVersion || this.supportedVersions[this.supportedVersions.length - 1];
58
61
  // uncomment to support upgrading to preview releases
59
- // if (prerelease(telemetryProps.toVersion) && !args.options.preview) {
60
- // telemetryProps.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
61
- // }
62
+ if ((0, semver_1.prerelease)(telemetryProps.toVersion) && !args.options.preview) {
63
+ telemetryProps.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
64
+ }
62
65
  telemetryProps.packageManager = args.options.packageManager || 'npm';
63
66
  telemetryProps.shell = args.options.shell || 'bash';
64
67
  telemetryProps.preview = args.options.preview;
@@ -72,15 +75,15 @@ class SpfxProjectUpgradeCommand extends base_project_command_1.BaseProjectComman
72
75
  }
73
76
  this.toVersion = args.options.toVersion ? args.options.toVersion : this.supportedVersions[this.supportedVersions.length - 1];
74
77
  // uncomment to support upgrading to preview releases
75
- // if (!args.options.toVersion &&
76
- // !args.options.preview &&
77
- // prerelease(this.toVersion)) {
78
- // // no version and no preview specified while the current version to
79
- // // upgrade to is a prerelease so let's grab the first non-preview version
80
- // // since we're supporting only one preview version, it's sufficient for
81
- // // us to take second to last version
82
- // this.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
83
- // }
78
+ if (!args.options.toVersion &&
79
+ !args.options.preview &&
80
+ (0, semver_1.prerelease)(this.toVersion)) {
81
+ // no version and no preview specified while the current version to
82
+ // upgrade to is a prerelease so let's grab the first non-preview version
83
+ // since we're supporting only one preview version, it's sufficient for
84
+ // us to take second to last version
85
+ this.toVersion = this.supportedVersions[this.supportedVersions.length - 2];
86
+ }
84
87
  this.packageManager = args.options.packageManager || 'npm';
85
88
  this.shell = args.options.shell || 'bash';
86
89
  if (this.supportedVersions.indexOf(this.toVersion) < 0) {
@@ -501,11 +504,11 @@ ${f.resolution}
501
504
  },
502
505
  {
503
506
  option: '--packageManager [packageManager]',
504
- autocomplete: ['npm', 'pnpm', 'yarn']
507
+ autocomplete: SpfxProjectUpgradeCommand.packageManagers
505
508
  },
506
509
  {
507
510
  option: '--shell [shell]',
508
- autocomplete: ['bash', 'powershell', 'cmd']
511
+ autocomplete: SpfxProjectUpgradeCommand.shells
509
512
  },
510
513
  {
511
514
  option: '--preview'
@@ -521,18 +524,20 @@ ${f.resolution}
521
524
  }
522
525
  validate(args) {
523
526
  if (args.options.packageManager) {
524
- if (['npm', 'pnpm', 'yarn'].indexOf(args.options.packageManager) < 0) {
525
- return `${args.options.packageManager} is not a supported package manager. Supported package managers are npm, pnpm and yarn`;
527
+ if (SpfxProjectUpgradeCommand.packageManagers.indexOf(args.options.packageManager) < 0) {
528
+ return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${SpfxProjectUpgradeCommand.packageManagers.join(', ')}`;
526
529
  }
527
530
  }
528
531
  if (args.options.shell) {
529
- if (['bash', 'powershell', 'logger'].indexOf(args.options.shell) < 0) {
530
- return `${args.options.shell} is not a supported shell. Supported shells are bash, powershell and cmd`;
532
+ if (SpfxProjectUpgradeCommand.shells.indexOf(args.options.shell) < 0) {
533
+ return `${args.options.shell} is not a supported shell. Supported shells are ${SpfxProjectUpgradeCommand.shells.join(', ')}`;
531
534
  }
532
535
  }
533
536
  return true;
534
537
  }
535
538
  }
539
+ SpfxProjectUpgradeCommand.packageManagers = ['npm', 'pnpm', 'yarn'];
540
+ SpfxProjectUpgradeCommand.shells = ['bash', 'powershell', 'cmd'];
536
541
  SpfxProjectUpgradeCommand.packageCommands = {
537
542
  npm: {
538
543
  install: 'npm i -SE',
@@ -481,6 +481,9 @@ class SpfxDoctorCommand extends AnonymousCommand_1.default {
481
481
  return 'Verifies environment configuration for using the specific version of the SharePoint Framework';
482
482
  }
483
483
  commandAction(logger, args, cb) {
484
+ if (!args.options.output) {
485
+ args.options.output = 'text';
486
+ }
484
487
  logger.log(' ');
485
488
  logger.log('CLI for Microsoft 365 SharePoint Framework doctor');
486
489
  logger.log('Verifying configuration of your system for working with the SharePoint Framework');
@@ -758,6 +761,9 @@ class SpfxDoctorCommand extends AnonymousCommand_1.default {
758
761
  return `${args.options.env} is not a valid SharePoint version. Valid versions are sp2016, sp2019 or spo`;
759
762
  }
760
763
  }
764
+ if (args.options.output && args.options.output !== 'text') {
765
+ return `The output option only accepts the type 'text'`;
766
+ }
761
767
  return true;
762
768
  }
763
769
  }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const request_1 = require("../../../../request");
4
+ const utils_1 = require("../../../../utils");
5
+ const SpoCommand_1 = require("../../../base/SpoCommand");
6
+ const commands_1 = require("../../commands");
7
+ class SpoSiteRecycleBinItemRestoreCommand extends SpoCommand_1.default {
8
+ get name() {
9
+ return commands_1.default.SITE_RECYCLEBINITEM_RESTORE;
10
+ }
11
+ get description() {
12
+ return 'Restores given items from the site recycle bin';
13
+ }
14
+ commandAction(logger, args, cb) {
15
+ if (this.verbose) {
16
+ logger.logToStderr(`Restoring items from recycle bin at ${args.options.siteUrl}...`);
17
+ }
18
+ const requestUrl = `${args.options.siteUrl}/_api/site/RecycleBin/RestoreByIds`;
19
+ const ids = utils_1.formatting.splitAndTrim(args.options.ids);
20
+ const idsChunks = [];
21
+ while (ids.length) {
22
+ idsChunks.push(ids.splice(0, 20));
23
+ }
24
+ Promise.all(idsChunks.map((idsChunk) => {
25
+ const requestOptions = {
26
+ url: requestUrl,
27
+ headers: {
28
+ 'accept': 'application/json;odata=nometadata',
29
+ 'content-type': 'application/json'
30
+ },
31
+ responseType: 'json',
32
+ data: {
33
+ ids: idsChunk
34
+ }
35
+ };
36
+ return request_1.default.post(requestOptions);
37
+ })).then(_ => cb(), (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
38
+ }
39
+ options() {
40
+ const options = [
41
+ {
42
+ option: '-u, --siteUrl <siteUrl>'
43
+ },
44
+ {
45
+ option: '-i, --ids <ids>'
46
+ }
47
+ ];
48
+ const parentOptions = super.options();
49
+ return options.concat(parentOptions);
50
+ }
51
+ validate(args) {
52
+ const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.siteUrl);
53
+ if (isValidSharePointUrl !== true) {
54
+ return isValidSharePointUrl;
55
+ }
56
+ const invalidIds = utils_1.formatting
57
+ .splitAndTrim(args.options.ids)
58
+ .filter(id => !utils_1.validation.isValidGuid(id));
59
+ if (invalidIds.length > 0) {
60
+ return `The following IDs are invalid: ${invalidIds.join(', ')}`;
61
+ }
62
+ return true;
63
+ }
64
+ }
65
+ module.exports = new SpoSiteRecycleBinItemRestoreCommand();
66
+ //# sourceMappingURL=site-recyclebinitem-restore.js.map
@@ -185,6 +185,7 @@ exports.default = {
185
185
  SITE_LIST: `${prefix} site list`,
186
186
  SITE_INPLACERECORDSMANAGEMENT_SET: `${prefix} site inplacerecordsmanagement set`,
187
187
  SITE_RECYCLEBINITEM_LIST: `${prefix} site recyclebinitem list`,
188
+ SITE_RECYCLEBINITEM_RESTORE: `${prefix} site recyclebinitem restore`,
188
189
  SITE_REMOVE: `${prefix} site remove`,
189
190
  SITE_RENAME: `${prefix} site rename`,
190
191
  SITE_SET: `${prefix} site set`,
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const prefix = 'tenant';
4
4
  exports.default = {
5
- AUDITLOG_REPORT: `${prefix} auditlog report`,
6
5
  ID_GET: `${prefix} id get`,
7
6
  REPORT_ACTIVEUSERCOUNTS: `${prefix} report activeusercounts`,
8
7
  REPORT_ACTIVEUSERDETAIL: `${prefix} report activeuserdetail`,
@@ -11,14 +10,10 @@ exports.default = {
11
10
  REPORT_OFFICE365ACTIVATIONSUSERCOUNTS: `${prefix} report office365activationsusercounts`,
12
11
  REPORT_SERVICESUSERCOUNTS: `${prefix} report servicesusercounts`,
13
12
  SERVICEANNOUNCEMENT_HEALTHISSUE_GET: `${prefix} serviceannouncement healthissue get`,
14
- SERVICE_LIST: `${prefix} service list`,
15
- SERVICE_MESSAGE_LIST: `${prefix} service message list`,
16
- SERVICE_REPORT_HISTORICALSERVICESTATUS: `${prefix} service report historicalservicestatus`,
17
13
  SERVICEANNOUNCEMENT_HEALTH_GET: `${prefix} serviceannouncement health get`,
18
14
  SERVICEANNOUNCEMENT_HEALTH_LIST: `${prefix} serviceannouncement health list`,
19
15
  SERVICEANNOUNCEMENT_HEALTHISSUE_LIST: `${prefix} serviceannouncement healthissue list`,
20
16
  SERVICEANNOUNCEMENT_MESSAGE_GET: `${prefix} serviceannouncement message get`,
21
- SERVICEANNOUNCEMENT_MESSAGE_LIST: `${prefix} serviceannouncement message list`,
22
- STATUS_LIST: `${prefix} status list`
17
+ SERVICEANNOUNCEMENT_MESSAGE_LIST: `${prefix} serviceannouncement message list`
23
18
  };
24
19
  //# sourceMappingURL=commands.js.map
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.settingsNames = void 0;
4
4
  const settingsNames = {
5
5
  autoOpenBrowserOnLogin: 'autoOpenBrowserOnLogin',
6
+ copyDeviceCodeToClipboard: 'copyDeviceCodeToClipboard',
6
7
  csvEscape: 'csvEscape',
7
8
  csvHeader: 'csvHeader',
8
9
  csvQuote: 'csvQuote',
@@ -61,6 +61,9 @@ exports.formatting = {
61
61
  },
62
62
  removeSingleLineComments(s) {
63
63
  return stripJsonComments(s);
64
+ },
65
+ splitAndTrim(s) {
66
+ return s.split(',').map(c => c.trim());
64
67
  }
65
68
  };
66
69
  //# sourceMappingURL=formatting.js.map
@@ -1,9 +1,15 @@
1
- # aad app delete
1
+ # aad app remove
2
2
 
3
3
  Removes an Azure AD app registration
4
4
 
5
5
  ## Usage
6
6
 
7
+ ```sh
8
+ m365 aad app remove [options]
9
+ ```
10
+
11
+ ## Alias
12
+
7
13
  ```sh
8
14
  m365 aad app delete [options]
9
15
  ```
@@ -20,32 +26,32 @@ m365 aad app delete [options]
20
26
  : Name of the Azure AD application registration to remove. Specify either `appId`, `objectId` or `name`
21
27
 
22
28
  `--confirm`:
23
- : Don't prompt for confirmation to delete the app
29
+ : Don't prompt for confirmation to remove the app
24
30
 
25
31
  --8<-- "docs/cmd/_global.md"
26
32
 
27
33
  ## Remarks
28
34
 
29
- For best performance use the `objectId` option to reference the Azure AD application registration to delete. If you use `appId` or `name`, this command will first need to find the corresponding object ID for that application.
35
+ For best performance use the `objectId` option to reference the Azure AD application registration to remove. If you use `appId` or `name`, this command will first need to find the corresponding object ID for that application.
30
36
 
31
37
  If the command finds multiple Azure AD application registrations with the specified app name, it will prompt you to disambiguate which app it should use, listing the discovered object IDs.
32
38
 
33
39
  ## Examples
34
40
 
35
- Delete the Azure AD application registration by its app (client) ID
41
+ Remove the Azure AD application registration by its app (client) ID
36
42
 
37
43
  ```sh
38
- m365 aad app delete --appId d75be2e1-0204-4f95-857d-51a37cf40be8
44
+ m365 aad app remove --appId d75be2e1-0204-4f95-857d-51a37cf40be8
39
45
  ```
40
46
 
41
- Delete the Azure AD application registration by its object ID
47
+ Remove the Azure AD application registration by its object ID
42
48
 
43
49
  ```sh
44
- m365 aad app delete --objectId d75be2e1-0204-4f95-857d-51a37cf40be8
50
+ m365 aad app remove --objectId d75be2e1-0204-4f95-857d-51a37cf40be8
45
51
  ```
46
52
 
47
- Delete the Azure AD application registration by its name. Will NOT prompt for confirmation before deleting.
53
+ Remove the Azure AD application registration by its name. Will NOT prompt for confirmation before deleting.
48
54
 
49
55
  ```sh
50
- m365 aad app delete --name "My app" --confirm
56
+ m365 aad app remove --name "My app" --confirm
51
57
  ```
@@ -1,9 +1,15 @@
1
- # aad app role delete
1
+ # aad app role remove
2
2
 
3
- Deletes role from the specified Azure AD app registration
3
+ Removes role from the specified Azure AD app registration
4
4
 
5
5
  ## Usage
6
6
 
7
+ ```sh
8
+ m365 aad app role remove [options]
9
+ ```
10
+
11
+ ## Alias
12
+
7
13
  ```sh
8
14
  m365 aad app role delete [options]
9
15
  ```
@@ -11,60 +17,60 @@ m365 aad app role delete [options]
11
17
  ## Options
12
18
 
13
19
  `--appId [appId]`
14
- : Application (client) ID of the Azure AD application registration from which role should be deleted. Specify either `appId`, `appObjectId` or `appName`
20
+ : Application (client) ID of the Azure AD application registration from which role should be removed. Specify either `appId`, `appObjectId` or `appName`
15
21
 
16
22
  `--appObjectId [appObjectId]`
17
- : Object ID of the Azure AD application registration from which role should be deleted. Specify either `appId`, `appObjectId` or `appName`
23
+ : Object ID of the Azure AD application registration from which role should be removed. Specify either `appId`, `appObjectId` or `appName`
18
24
 
19
25
  `--appName [appName]`
20
- : Name of the Azure AD application registration from which role should be deleted. Specify either `appId`, `appObjectId` or `appName`
26
+ : Name of the Azure AD application registration from which role should be removed. Specify either `appId`, `appObjectId` or `appName`
21
27
 
22
28
  `-n, --name [name]`
23
- : Name of the role to delete. Specify either `name`, `id` or `claim`
29
+ : Name of the role to remove. Specify either `name`, `id` or `claim`
24
30
 
25
31
  `-i, --id [id]`
26
- : Id of the role to delete. Specify either `name`, `id` or `claim`
32
+ : Id of the role to remove. Specify either `name`, `id` or `claim`
27
33
 
28
34
  `-c, --claim [claim]`
29
- : Claim value of the role to delete. Specify either `name`, `id` or `claim`
35
+ : Claim value of the role to remove. Specify either `name`, `id` or `claim`
30
36
 
31
37
  `--confirm`
32
- : Don't prompt for confirmation to delete the role.
38
+ : Don't prompt for confirmation to remove the role.
33
39
 
34
40
  --8<-- "docs/cmd/_global.md"
35
41
 
36
42
  ## Remarks
37
43
 
38
- For best performance use the `appObjectId` option to reference the Azure AD application registration from which to delete the role. If you use `appId` or `appName`, this command will first need to find the corresponding object ID for that application.
44
+ For best performance use the `appObjectId` option to reference the Azure AD application registration from which to remove the role. If you use `appId` or `appName`, this command will first need to find the corresponding object ID for that application.
39
45
 
40
46
  If the command finds multiple Azure AD application registrations with the specified app name, it will prompt you to disambiguate which app it should use, listing the discovered object IDs.
41
47
 
42
48
  If the command finds multiple roles with the specified role name, it will prompt you to disambiguate which role it should use, listing the claim values.
43
49
 
44
- If the role to be deleted is 'Enabled', this command will disable the role first and then delete.
50
+ If the role to be removed is 'Enabled', this command will disable the role first and then remove.
45
51
 
46
52
  ## Examples
47
53
 
48
- Delete role from a Azure AD application registration using object ID and role name options. Will prompt for confirmation before deleting the role.
54
+ Remove role from a Azure AD application registration using object ID and role name options. Will prompt for confirmation before deleting the role.
49
55
 
50
56
  ```sh
51
- m365 aad app role delete --appObjectId d75be2e1-0204-4f95-857d-51a37cf40be8 --name "Get Product"
57
+ m365 aad app role remove --appObjectId d75be2e1-0204-4f95-857d-51a37cf40be8 --name "Get Product"
52
58
  ```
53
59
 
54
- Delete role from a Azure AD application registration using app (client) ID and role claim options. Will prompt for confirmation before deleting the role.
60
+ Remove role from a Azure AD application registration using app (client) ID and role claim options. Will prompt for confirmation before deleting the role.
55
61
 
56
62
  ```sh
57
- m365 aad app role delete --appId e75be2e1-0204-4f95-857d-51a37cf40be8 --claim "Product.Get"
63
+ m365 aad app role remove --appId e75be2e1-0204-4f95-857d-51a37cf40be8 --claim "Product.Get"
58
64
  ```
59
65
 
60
- Delete role from a Azure AD application registration using app name and role claim options. Will prompt for confirmation before deleting the role.
66
+ Remove role from a Azure AD application registration using app name and role claim options. Will prompt for confirmation before deleting the role.
61
67
 
62
68
  ```sh
63
- m365 aad app role delete --appName "My app" --claim "Product.Get"
69
+ m365 aad app role remove --appName "My app" --claim "Product.Get"
64
70
  ```
65
71
 
66
- Delete role from a Azure AD application registration using object ID and role id options. Will NOT prompt for confirmation before deleting the role.
72
+ Remove role from a Azure AD application registration using object ID and role id options. Will NOT prompt for confirmation before deleting the role.
67
73
 
68
74
  ```sh
69
- m365 aad app role delete --appObjectId d75be2e1-0204-4f95-857d-51a37cf40be8 --id 15927ce6-1933-4b2f-b029-4dee3d53f4dd --confirm
75
+ m365 aad app role remove --appObjectId d75be2e1-0204-4f95-857d-51a37cf40be8 --id 15927ce6-1933-4b2f-b029-4dee3d53f4dd --confirm
70
76
  ```
@@ -0,0 +1,50 @@
1
+ # pp managementapp add
2
+
3
+ Register management application for Power Platform
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 pp managementapp add [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `--appId [appId]`
14
+ : Application (client) ID of the Azure AD application registration to register as a management app. Specify either `appId`, `objectId` or `name`
15
+
16
+ `--objectId [objectId]`
17
+ : Object ID of the Azure AD application registration to register as a management app. Specify either `appId`, `objectId` or `name`
18
+
19
+ `--name [name]`
20
+ : Name of the Azure AD application registration to register as a management app. Specify either `appId`, `objectId` or `name`
21
+
22
+ --8<-- "docs/cmd/_global.md"
23
+
24
+ ## Remarks
25
+
26
+ To execute this command the first time you'll need sign in using the Microsoft Azure PowerShell app registration. You can do this by executing `m365 login --appId 1950a258-227b-4e31-a9cf-717495945fc2`. To register the Azure AD app registration that CLI for Microsoft 365 uses by default, execute `m365 pp managementapp add--appId 31359c7f-bd7e-475c-86db-fdb8c937548e`.
27
+
28
+ For best performance use the `appId` option to reference the Azure AD application registration to update. If you use `objectId` or `name`, this command will first need to find the corresponding `appId` for that application.
29
+
30
+ If the command finds multiple Azure AD application registrations with the specified app name, it will prompt you to disambiguate which app it should use, listing the discovered object IDs.
31
+
32
+ ## Examples
33
+
34
+ Register CLI for Microsoft 365 as a management application for the Power Platform
35
+
36
+ ```sh
37
+ m365 pp managementapp add --appId 31359c7f-bd7e-475c-86db-fdb8c937548e
38
+ ```
39
+
40
+ Register Azure AD application with the specified object ID as a management application for the Power Platform
41
+
42
+ ```sh
43
+ m365 pp managementapp add --objectId d75be2e1-0204-4f95-857d-51a37cf40be8
44
+ ```
45
+
46
+ Register Azure AD application named _My app_ as a management application for the Power Platform
47
+
48
+ ```sh
49
+ m365 pp managementapp add --name "My app"
50
+ ```
@@ -32,7 +32,7 @@ m365 spfx project upgrade [options]
32
32
 
33
33
  ## Remarks
34
34
 
35
- The `spfx project upgrade` command helps you upgrade your SharePoint Framework project to the specified version. If no version is specified, the command will upgrade to the latest version of the SharePoint Framework it supports (v1.14.0).
35
+ The `spfx project upgrade` command helps you upgrade your SharePoint Framework project to the specified version. If no version is specified, the command will upgrade to the latest version of the SharePoint Framework it supports (v1.14.0). If you specify the `preview` option without a specific version, the command will upgrade your project to the latest preview version v1.15.0-beta.1.
36
36
 
37
37
  This command doesn't change your project files. Instead, it gives you a report with all steps necessary to upgrade your project to the specified version of the SharePoint Framework. Changing project files is error-prone, especially when it comes to updating your solution's code. This is why at this moment, this command produces a report that you can use yourself to perform the necessary updates and verify that everything is working as expected.
38
38
 
@@ -20,7 +20,7 @@ m365 spfx doctor [options]
20
20
  : JMESPath query string. See [http://jmespath.org/](http://jmespath.org/) for more information and examples
21
21
 
22
22
  `-o, --output [output]`
23
- : Output type. `json,text,csv,md`. Default `json`
23
+ : Output type. `text`. Default `text`
24
24
 
25
25
  `--verbose`
26
26
  : Runs command with verbose logging
@@ -43,6 +43,9 @@ If you miss any required tools or use a version that doesn't meet the SharePoint
43
43
 
44
44
  Next to verifying the readiness of your environment to use a particular version of the SharePoint Framework, you can also check if the version of the SharePoint Framework that you use is compatible with the specific version of SharePoint. Supported versions are `sp2016`, `sp2019` and `spo`.
45
45
 
46
+ !!! important
47
+ This command supports only text output.
48
+
46
49
  ## Examples
47
50
 
48
51
  Verify if your environment meets the requirements to work with the SharePoint Framework
@@ -0,0 +1,27 @@
1
+ # spo site recyclebinitem restore
2
+
3
+ Restores given items from the site recycle bin
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 spo site recyclebinitem restore [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `-u, --siteUrl <siteUrl>`
14
+ : URL of the site for which to restore the recycle bin items
15
+
16
+ `-i, --ids <ids>`
17
+ : List of ids of items which will be restored from the site recycle bin
18
+
19
+ --8<-- "docs/cmd/_global.md"
20
+
21
+ ## Examples
22
+
23
+ Restore specific items by given ids from recycle bin for site _https://contoso.sharepoint.com/site_
24
+
25
+ ```sh
26
+ m365 spo site recyclebinitem restore --siteUrl https://contoso.sharepoint.com/site --ids "ae6f97a7-280e-48d6-b481-0ea986c323da,aadbf916-1f71-42ee-abf2-8ee4802ae291"
27
+ ```