@pnp/cli-microsoft365 6.0.0-beta.d4d33ed → 6.0.0-beta.da01a44

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 (768) hide show
  1. package/.devcontainer/Dockerfile +3 -1
  2. package/.devcontainer/devcontainer.json +1 -0
  3. package/.eslintrc.js +13 -0
  4. package/README.md +5 -0
  5. package/dist/Auth.js +3 -4
  6. package/dist/Command.js +228 -122
  7. package/dist/api.js +3 -3
  8. package/dist/appInsights.js +2 -0
  9. package/dist/cli/Cli.js +49 -96
  10. package/dist/index.js +2 -2
  11. package/dist/m365/aad/commands/app/app-add.js +268 -137
  12. package/dist/m365/aad/commands/app/app-get.js +55 -42
  13. package/dist/m365/aad/commands/app/app-remove.js +78 -69
  14. package/dist/m365/aad/commands/app/app-role-add.js +72 -58
  15. package/dist/m365/aad/commands/app/app-role-list.js +47 -37
  16. package/dist/m365/aad/commands/app/app-role-remove.js +68 -71
  17. package/dist/m365/aad/commands/app/app-set.js +62 -53
  18. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +144 -136
  19. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +91 -80
  20. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +148 -139
  21. package/dist/m365/aad/commands/group/group-list.js +57 -36
  22. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +65 -51
  23. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +48 -27
  24. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +20 -8
  25. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +71 -51
  26. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +65 -44
  27. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +60 -42
  28. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +20 -8
  29. package/dist/m365/aad/commands/o365group/o365group-add.js +151 -157
  30. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +42 -20
  31. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +60 -44
  32. package/dist/m365/aad/commands/o365group/o365group-get.js +54 -42
  33. package/dist/m365/aad/commands/o365group/o365group-list.js +88 -77
  34. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +57 -36
  35. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +50 -30
  36. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +76 -70
  37. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +72 -53
  38. package/dist/m365/aad/commands/o365group/o365group-remove.js +82 -66
  39. package/dist/m365/aad/commands/o365group/o365group-renew.js +48 -25
  40. package/dist/m365/aad/commands/o365group/o365group-set.js +152 -146
  41. package/dist/m365/aad/commands/o365group/o365group-teamify.js +78 -53
  42. package/dist/m365/aad/commands/o365group/o365group-user-add.js +78 -61
  43. package/dist/m365/aad/commands/o365group/o365group-user-list.js +60 -42
  44. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +100 -98
  45. package/dist/m365/aad/commands/o365group/o365group-user-set.js +114 -100
  46. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +61 -40
  47. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +52 -31
  48. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +59 -43
  49. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +47 -27
  50. package/dist/m365/aad/commands/policy/policy-list.js +63 -44
  51. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +83 -66
  52. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +113 -95
  53. package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
  54. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +141 -121
  55. package/dist/m365/aad/commands/sp/sp-add.js +70 -55
  56. package/dist/m365/aad/commands/sp/sp-get.js +76 -61
  57. package/dist/m365/aad/commands/user/user-get.js +86 -74
  58. package/dist/m365/aad/commands/user/user-hibp.js +64 -47
  59. package/dist/m365/aad/commands/user/user-list.js +58 -29
  60. package/dist/m365/aad/commands/user/user-password-validate.js +44 -25
  61. package/dist/m365/aad/commands/user/user-set.js +66 -46
  62. package/dist/m365/aad/commands/user/user-signin-list.js +73 -52
  63. package/dist/m365/aad/commands.js +0 -1
  64. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +93 -77
  65. package/dist/m365/app/commands/app-get.js +28 -16
  66. package/dist/m365/app/commands/app-open.js +42 -26
  67. package/dist/m365/app/commands/permission/permission-list.js +19 -17
  68. package/dist/m365/base/AnonymousCommand.js +14 -3
  69. package/dist/m365/base/AppCommand.js +82 -59
  70. package/dist/m365/base/DateAndPeriodBasedReport.js +47 -28
  71. package/dist/m365/base/PeriodBasedReport.js +60 -34
  72. package/dist/m365/base/SpoCommand.js +14 -10
  73. package/dist/m365/base/YammerCommand.js +4 -4
  74. package/dist/m365/booking/commands/business/business-get.js +96 -0
  75. package/dist/m365/booking/commands/business/business-list.js +39 -0
  76. package/dist/m365/booking/commands.js +8 -0
  77. package/dist/m365/cli/commands/cli-consent.js +53 -30
  78. package/dist/m365/cli/commands/cli-doctor.js +37 -27
  79. package/dist/m365/cli/commands/cli-issue.js +41 -33
  80. package/dist/m365/cli/commands/cli-reconsent.js +31 -19
  81. package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
  82. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +63 -47
  83. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
  84. package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
  85. package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
  86. package/dist/m365/cli/commands/config/config-get.js +43 -22
  87. package/dist/m365/cli/commands/config/config-reset.js +47 -26
  88. package/dist/m365/cli/commands/config/config-set.js +57 -40
  89. package/dist/m365/commands/commands.js +1 -0
  90. package/dist/m365/commands/login.js +120 -105
  91. package/dist/m365/commands/logout.js +34 -23
  92. package/dist/m365/commands/request.js +150 -0
  93. package/dist/m365/commands/status.js +50 -28
  94. package/dist/m365/commands/version.js +13 -3
  95. package/dist/m365/file/commands/convert/convert-pdf.js +90 -68
  96. package/dist/m365/file/commands/file-add.js +52 -24
  97. package/dist/m365/file/commands/file-list.js +61 -45
  98. package/dist/m365/flow/commands/environment/environment-get.js +49 -30
  99. package/dist/m365/flow/commands/environment/environment-list.js +33 -21
  100. package/dist/m365/flow/commands/flow-disable.js +47 -28
  101. package/dist/m365/flow/commands/flow-enable.js +47 -28
  102. package/dist/m365/flow/commands/flow-export.js +159 -146
  103. package/dist/m365/flow/commands/flow-get.js +52 -35
  104. package/dist/m365/flow/commands/flow-list.js +52 -32
  105. package/dist/m365/flow/commands/flow-remove.js +84 -71
  106. package/dist/m365/flow/commands/run/run-cancel.js +71 -55
  107. package/dist/m365/flow/commands/run/run-get.js +52 -35
  108. package/dist/m365/flow/commands/run/run-list.js +48 -30
  109. package/dist/m365/flow/commands/run/run-resubmit.js +83 -67
  110. package/dist/m365/graph/Changelog.js +3 -0
  111. package/dist/m365/graph/commands/changelog/changelog-list.js +164 -0
  112. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +71 -54
  113. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +45 -25
  114. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +87 -66
  115. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +67 -48
  116. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +120 -102
  117. package/dist/m365/graph/commands/subscription/subscription-add.js +82 -63
  118. package/dist/m365/graph/commands.js +1 -0
  119. package/dist/m365/onedrive/commands/onedrive-list.js +25 -15
  120. package/dist/m365/onenote/commands/notebook/notebook-list.js +140 -0
  121. package/dist/m365/onenote/commands.js +7 -0
  122. package/dist/m365/outlook/commands/mail/mail-send.js +117 -62
  123. package/dist/m365/outlook/commands/message/message-list.js +53 -43
  124. package/dist/m365/outlook/commands/message/message-move.js +74 -77
  125. package/dist/m365/outlook/commands/room/room-list.js +46 -25
  126. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +20 -8
  127. package/dist/m365/outlook/commands.js +1 -2
  128. package/dist/m365/pa/commands/app/app-get.js +88 -73
  129. package/dist/m365/pa/commands/app/app-list.js +59 -37
  130. package/dist/m365/pa/commands/app/app-remove.js +79 -60
  131. package/dist/m365/pa/commands/connector/connector-export.js +142 -121
  132. package/dist/m365/pa/commands/connector/connector-list.js +44 -25
  133. package/dist/m365/pa/commands/environment/environment-get.js +49 -30
  134. package/dist/m365/pa/commands/environment/environment-list.js +33 -21
  135. package/dist/m365/pa/commands/pcf/pcf-init.js +90 -86
  136. package/dist/m365/pa/commands/solution/solution-init.js +94 -86
  137. package/dist/m365/pa/commands/solution/solution-reference-add.js +60 -44
  138. package/dist/m365/planner/commands/bucket/bucket-add.js +84 -70
  139. package/dist/m365/planner/commands/bucket/bucket-get.js +64 -54
  140. package/dist/m365/planner/commands/bucket/bucket-list.js +70 -51
  141. package/dist/m365/planner/commands/bucket/bucket-remove.js +100 -88
  142. package/dist/m365/planner/commands/bucket/bucket-set.js +94 -79
  143. package/dist/m365/planner/commands/plan/plan-add.js +86 -69
  144. package/dist/m365/planner/commands/plan/plan-get.js +88 -73
  145. package/dist/m365/planner/commands/plan/plan-list.js +63 -43
  146. package/dist/m365/planner/commands/plan/plan-remove.js +81 -76
  147. package/dist/m365/planner/commands/task/task-add.js +105 -117
  148. package/dist/m365/planner/commands/task/task-checklistitem-add.js +70 -53
  149. package/dist/m365/planner/commands/task/task-checklistitem-list.js +52 -31
  150. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +73 -56
  151. package/dist/m365/planner/commands/task/task-get.js +70 -48
  152. package/dist/m365/planner/commands/task/task-list.js +101 -94
  153. package/dist/m365/planner/commands/task/task-reference-add.js +64 -37
  154. package/dist/m365/planner/commands/task/task-reference-list.js +47 -28
  155. package/dist/m365/planner/commands/task/task-reference-remove.js +81 -67
  156. package/dist/m365/planner/commands/task/task-remove.js +84 -60
  157. package/dist/m365/planner/commands/task/task-set.js +88 -91
  158. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
  159. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +84 -66
  160. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +75 -0
  161. package/dist/m365/pp/commands/environment/environment-list.js +62 -36
  162. package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
  163. package/dist/m365/pp/commands/managementapp/managementapp-add.js +62 -50
  164. package/dist/m365/pp/commands/managementapp/managementapp-list.js +21 -9
  165. package/dist/m365/pp/commands/solution/Solution.js +3 -0
  166. package/dist/m365/pp/commands/solution/solution-list.js +87 -0
  167. package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
  168. package/dist/m365/pp/commands.js +4 -1
  169. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +71 -49
  170. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +65 -50
  171. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +20 -8
  172. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +108 -0
  173. package/dist/m365/search/commands.js +2 -1
  174. package/dist/m365/spfx/commands/package/package-generate.js +151 -136
  175. package/dist/m365/spfx/commands/project/base-project-command.js +23 -18
  176. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.15.2.js +23 -0
  177. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.16.0-beta.1.js +23 -0
  178. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +2 -2
  179. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +2 -2
  180. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  181. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +2 -2
  182. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  183. package/dist/m365/spfx/commands/project/project-doctor.js +144 -128
  184. package/dist/m365/spfx/commands/project/project-externalize.js +60 -47
  185. package/dist/m365/spfx/commands/project/project-model/EsLintRcJs.js +3 -0
  186. package/dist/m365/spfx/commands/project/project-model/index.js +1 -0
  187. package/dist/m365/spfx/commands/project/project-rename.js +61 -48
  188. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  189. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  190. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  191. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  192. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  193. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  194. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  195. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  196. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  197. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  198. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js +17 -0
  199. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  200. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  201. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002025_DEVDEP_eslint_plugin_react_hooks.js +2 -2
  202. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002026_DEVDEP_typescript.js +14 -0
  203. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +47 -0
  204. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012020_TSC_noImplicitAny.js +46 -0
  205. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.js +2 -2
  206. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  207. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +48 -0
  208. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  209. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  210. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN025001_ESLINTRCJS_overrides.js +64 -0
  211. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
  212. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +433 -0
  213. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.16.0-beta.1.js +61 -0
  214. package/dist/m365/spfx/commands/project/project-upgrade.js +243 -230
  215. package/dist/m365/spfx/commands/spfx-doctor.js +227 -141
  216. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +1 -1
  217. package/dist/m365/spo/commands/app/app-add.js +84 -67
  218. package/dist/m365/spo/commands/app/app-deploy.js +98 -85
  219. package/dist/m365/spo/commands/app/app-get.js +97 -83
  220. package/dist/m365/spo/commands/app/app-install.js +65 -42
  221. package/dist/m365/spo/commands/app/app-instance-list.js +56 -34
  222. package/dist/m365/spo/commands/app/app-list.js +76 -59
  223. package/dist/m365/spo/commands/app/app-remove.js +87 -72
  224. package/dist/m365/spo/commands/app/app-retract.js +87 -72
  225. package/dist/m365/spo/commands/app/app-teamspackage-download.js +82 -67
  226. package/dist/m365/spo/commands/app/app-uninstall.js +82 -64
  227. package/dist/m365/spo/commands/app/app-upgrade.js +65 -42
  228. package/dist/m365/spo/commands/apppage/apppage-add.js +81 -65
  229. package/dist/m365/spo/commands/apppage/apppage-set.js +56 -44
  230. package/dist/m365/spo/commands/cdn/cdn-get.js +74 -58
  231. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +71 -59
  232. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +72 -56
  233. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +88 -83
  234. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +84 -69
  235. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +86 -76
  236. package/dist/m365/spo/commands/cdn/cdn-set.js +109 -95
  237. package/dist/m365/spo/commands/contenttype/contenttype-add.js +103 -88
  238. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +151 -154
  239. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +176 -189
  240. package/dist/m365/spo/commands/contenttype/contenttype-get.js +89 -68
  241. package/dist/m365/spo/commands/contenttype/contenttype-list.js +58 -33
  242. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +112 -110
  243. package/dist/m365/spo/commands/contenttype/contenttype-set.js +168 -0
  244. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +51 -48
  245. package/dist/m365/spo/commands/customaction/customaction-add.js +186 -180
  246. package/dist/m365/spo/commands/customaction/customaction-clear.js +74 -57
  247. package/dist/m365/spo/commands/customaction/customaction-get.js +93 -72
  248. package/dist/m365/spo/commands/customaction/customaction-list.js +73 -48
  249. package/dist/m365/spo/commands/customaction/customaction-remove.js +90 -74
  250. package/dist/m365/spo/commands/customaction/customaction-set.js +151 -144
  251. package/dist/m365/spo/commands/eventreceiver/EventReceiver.js +3 -0
  252. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +104 -87
  253. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +87 -67
  254. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +182 -0
  255. package/dist/m365/spo/commands/externaluser/externaluser-list.js +104 -91
  256. package/dist/m365/spo/commands/feature/feature-disable.js +73 -53
  257. package/dist/m365/spo/commands/feature/feature-enable.js +75 -55
  258. package/dist/m365/spo/commands/feature/feature-list.js +64 -42
  259. package/dist/m365/spo/commands/field/field-add.js +73 -47
  260. package/dist/m365/spo/commands/field/field-get.js +94 -83
  261. package/dist/m365/spo/commands/field/field-list.js +77 -55
  262. package/dist/m365/spo/commands/field/field-remove.js +146 -143
  263. package/dist/m365/spo/commands/field/field-set.js +123 -122
  264. package/dist/m365/spo/commands/file/file-add.js +229 -240
  265. package/dist/m365/spo/commands/file/file-checkin.js +90 -72
  266. package/dist/m365/spo/commands/file/file-checkout.js +70 -50
  267. package/dist/m365/spo/commands/file/file-copy.js +134 -134
  268. package/dist/m365/spo/commands/file/file-get.js +123 -114
  269. package/dist/m365/spo/commands/file/file-list.js +55 -28
  270. package/dist/m365/spo/commands/file/file-move.js +132 -131
  271. package/dist/m365/spo/commands/file/file-remove.js +108 -97
  272. package/dist/m365/spo/commands/file/file-rename.js +125 -0
  273. package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
  274. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
  275. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +125 -0
  276. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +100 -82
  277. package/dist/m365/spo/commands/folder/folder-add.js +59 -41
  278. package/dist/m365/spo/commands/folder/folder-copy.js +88 -68
  279. package/dist/m365/spo/commands/folder/folder-get.js +85 -39
  280. package/dist/m365/spo/commands/folder/folder-list.js +53 -34
  281. package/dist/m365/spo/commands/folder/folder-move.js +89 -69
  282. package/dist/m365/spo/commands/folder/folder-remove.js +84 -67
  283. package/dist/m365/spo/commands/folder/folder-rename.js +64 -54
  284. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +94 -0
  285. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +89 -0
  286. package/dist/m365/spo/commands/group/AssociatedGroupPropertiesCollection.js +3 -0
  287. package/dist/m365/spo/commands/group/group-add.js +86 -67
  288. package/dist/m365/spo/commands/group/group-get.js +94 -56
  289. package/dist/m365/spo/commands/group/group-list.js +87 -29
  290. package/dist/m365/spo/commands/group/group-remove.js +96 -85
  291. package/dist/m365/spo/commands/group/group-set.js +104 -92
  292. package/dist/m365/spo/commands/group/group-user-add.js +85 -74
  293. package/dist/m365/spo/commands/group/group-user-list.js +69 -45
  294. package/dist/m365/spo/commands/group/group-user-remove.js +91 -79
  295. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +30 -20
  296. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +59 -36
  297. package/dist/m365/spo/commands/homesite/homesite-get.js +29 -19
  298. package/dist/m365/spo/commands/homesite/homesite-remove.js +72 -62
  299. package/dist/m365/spo/commands/homesite/homesite-set.js +55 -42
  300. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +54 -33
  301. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +62 -42
  302. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +73 -56
  303. package/dist/m365/spo/commands/hubsite/hubsite-get.js +67 -65
  304. package/dist/m365/spo/commands/hubsite/hubsite-list.js +85 -77
  305. package/dist/m365/spo/commands/hubsite/hubsite-register.js +48 -30
  306. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +68 -55
  307. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +85 -76
  308. package/dist/m365/spo/commands/hubsite/hubsite-set.js +86 -75
  309. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +47 -26
  310. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +71 -54
  311. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +35 -32
  312. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +74 -66
  313. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +55 -43
  314. package/dist/m365/spo/commands/list/list-add.js +341 -382
  315. package/dist/m365/spo/commands/list/list-contenttype-add.js +85 -69
  316. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +110 -98
  317. package/dist/m365/spo/commands/list/list-contenttype-list.js +77 -58
  318. package/dist/m365/spo/commands/list/list-contenttype-remove.js +98 -88
  319. package/dist/m365/spo/commands/list/list-get.js +87 -70
  320. package/dist/m365/spo/commands/list/list-label-get.js +96 -81
  321. package/dist/m365/spo/commands/list/list-label-set.js +110 -93
  322. package/dist/m365/spo/commands/list/list-list.js +52 -33
  323. package/dist/m365/spo/commands/list/list-remove.js +93 -80
  324. package/dist/m365/spo/commands/list/list-roleassignment-add.js +218 -0
  325. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +200 -0
  326. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +104 -62
  327. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +97 -54
  328. package/dist/m365/spo/commands/list/list-set.js +340 -381
  329. package/dist/m365/spo/commands/list/list-sitescript-get.js +99 -85
  330. package/dist/m365/spo/commands/list/list-view-add.js +84 -71
  331. package/dist/m365/spo/commands/list/list-view-field-add.js +119 -121
  332. package/dist/m365/spo/commands/list/list-view-field-remove.js +109 -113
  333. package/dist/m365/spo/commands/list/list-view-field-set.js +98 -96
  334. package/dist/m365/spo/commands/list/list-view-get.js +91 -77
  335. package/dist/m365/spo/commands/list/list-view-list.js +76 -57
  336. package/dist/m365/spo/commands/list/list-view-remove.js +101 -95
  337. package/dist/m365/spo/commands/list/list-view-set.js +86 -74
  338. package/dist/m365/spo/commands/list/list-webhook-add.js +100 -86
  339. package/dist/m365/spo/commands/list/list-webhook-get.js +82 -66
  340. package/dist/m365/spo/commands/list/list-webhook-list.js +99 -79
  341. package/dist/m365/spo/commands/list/list-webhook-remove.js +97 -86
  342. package/dist/m365/spo/commands/list/list-webhook-set.js +97 -83
  343. package/dist/m365/spo/commands/listitem/listitem-add.js +166 -167
  344. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +78 -60
  345. package/dist/m365/spo/commands/listitem/listitem-get.js +83 -74
  346. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +115 -102
  347. package/dist/m365/spo/commands/listitem/listitem-list.js +124 -127
  348. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +107 -94
  349. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +103 -89
  350. package/dist/m365/spo/commands/listitem/listitem-remove.js +103 -91
  351. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +206 -0
  352. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +106 -58
  353. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +99 -54
  354. package/dist/m365/spo/commands/listitem/listitem-set.js +209 -224
  355. package/dist/m365/spo/commands/mail/mail-send.js +100 -84
  356. package/dist/m365/spo/commands/navigation/navigation-node-add.js +79 -61
  357. package/dist/m365/spo/commands/navigation/navigation-node-list.js +67 -45
  358. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +82 -65
  359. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +73 -58
  360. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +49 -49
  361. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +67 -61
  362. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +35 -35
  363. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +76 -68
  364. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +52 -39
  365. package/dist/m365/spo/commands/page/Page.js +2 -2
  366. package/dist/m365/spo/commands/page/page-add.js +256 -265
  367. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +245 -236
  368. package/dist/m365/spo/commands/page/page-column-get.js +60 -42
  369. package/dist/m365/spo/commands/page/page-column-list.js +53 -34
  370. package/dist/m365/spo/commands/page/page-control-get.js +72 -53
  371. package/dist/m365/spo/commands/page/page-control-list.js +63 -45
  372. package/dist/m365/spo/commands/page/page-control-set.js +147 -125
  373. package/dist/m365/spo/commands/page/page-copy.js +92 -77
  374. package/dist/m365/spo/commands/page/page-get.js +82 -69
  375. package/dist/m365/spo/commands/page/page-header-set.js +304 -300
  376. package/dist/m365/spo/commands/page/page-list.js +69 -52
  377. package/dist/m365/spo/commands/page/page-remove.js +78 -63
  378. package/dist/m365/spo/commands/page/page-section-add.js +111 -91
  379. package/dist/m365/spo/commands/page/page-section-get.js +49 -30
  380. package/dist/m365/spo/commands/page/page-section-list.js +53 -35
  381. package/dist/m365/spo/commands/page/page-set.js +281 -288
  382. package/dist/m365/spo/commands/page/page-template-list.js +53 -38
  383. package/dist/m365/spo/commands/page/page-text-add.js +94 -77
  384. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -3
  385. package/dist/m365/spo/commands/propertybag/propertybag-get.js +65 -46
  386. package/dist/m365/spo/commands/propertybag/propertybag-list.js +57 -37
  387. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +77 -72
  388. package/dist/m365/spo/commands/propertybag/propertybag-set.js +65 -63
  389. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
  390. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +58 -38
  391. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +48 -29
  392. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +78 -59
  393. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +58 -47
  394. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +43 -39
  395. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +51 -37
  396. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +64 -47
  397. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +59 -42
  398. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +45 -41
  399. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +87 -77
  400. package/dist/m365/spo/commands/site/site-add.js +290 -300
  401. package/dist/m365/spo/commands/site/site-appcatalog-add.js +59 -51
  402. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +59 -51
  403. package/dist/m365/spo/commands/site/site-apppermission-add.js +109 -66
  404. package/dist/m365/spo/commands/site/site-apppermission-get.js +50 -32
  405. package/dist/m365/spo/commands/site/site-apppermission-list.js +56 -43
  406. package/dist/m365/spo/commands/site/site-apppermission-remove.js +83 -81
  407. package/dist/m365/spo/commands/site/site-apppermission-set.js +80 -69
  408. package/dist/m365/spo/commands/site/site-chrome-set.js +116 -99
  409. package/dist/m365/spo/commands/site/site-commsite-enable.js +69 -53
  410. package/dist/m365/spo/commands/site/site-ensure.js +172 -163
  411. package/dist/m365/spo/commands/site/site-get.js +44 -25
  412. package/dist/m365/spo/commands/site/site-groupify.js +85 -70
  413. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +65 -41
  414. package/dist/m365/spo/commands/site/site-list.js +70 -54
  415. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +71 -44
  416. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +67 -42
  417. package/dist/m365/spo/commands/site/site-remove.js +111 -104
  418. package/dist/m365/spo/commands/site/site-rename.js +116 -115
  419. package/dist/m365/spo/commands/site/site-set.js +144 -149
  420. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +95 -83
  421. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +72 -52
  422. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +63 -43
  423. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +28 -18
  424. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +76 -61
  425. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +64 -48
  426. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +58 -42
  427. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +82 -68
  428. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +68 -45
  429. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +56 -35
  430. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +117 -104
  431. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +55 -35
  432. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +45 -25
  433. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +76 -57
  434. package/dist/m365/spo/commands/sitescript/sitescript-add.js +63 -48
  435. package/dist/m365/spo/commands/sitescript/sitescript-get.js +54 -38
  436. package/dist/m365/spo/commands/sitescript/sitescript-list.js +31 -25
  437. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +76 -61
  438. package/dist/m365/spo/commands/sitescript/sitescript-set.js +86 -72
  439. package/dist/m365/spo/commands/spo-get.js +16 -6
  440. package/dist/m365/spo/commands/spo-search.js +144 -147
  441. package/dist/m365/spo/commands/spo-set.js +38 -20
  442. package/dist/m365/spo/commands/storageentity/storageentity-get.js +53 -34
  443. package/dist/m365/spo/commands/storageentity/storageentity-list.js +63 -53
  444. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +80 -78
  445. package/dist/m365/spo/commands/storageentity/storageentity-set.js +75 -70
  446. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +67 -46
  447. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +32 -22
  448. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +39 -35
  449. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +94 -84
  450. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +59 -40
  451. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +57 -53
  452. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +431 -509
  453. package/dist/m365/spo/commands/term/term-add.js +163 -160
  454. package/dist/m365/spo/commands/term/term-get.js +104 -96
  455. package/dist/m365/spo/commands/term/term-group-add.js +115 -104
  456. package/dist/m365/spo/commands/term/term-group-get.js +79 -66
  457. package/dist/m365/spo/commands/term/term-group-list.js +43 -39
  458. package/dist/m365/spo/commands/term/term-list.js +89 -84
  459. package/dist/m365/spo/commands/term/term-set-add.js +137 -130
  460. package/dist/m365/spo/commands/term/term-set-get.js +87 -82
  461. package/dist/m365/spo/commands/term/term-set-list.js +82 -69
  462. package/dist/m365/spo/commands/theme/theme-apply.js +96 -82
  463. package/dist/m365/spo/commands/theme/theme-get.js +55 -41
  464. package/dist/m365/spo/commands/theme/theme-list.js +36 -26
  465. package/dist/m365/spo/commands/theme/theme-remove.js +71 -55
  466. package/dist/m365/spo/commands/theme/theme-set.js +74 -55
  467. package/dist/m365/spo/commands/user/user-get.js +80 -65
  468. package/dist/m365/spo/commands/user/user-list.js +51 -32
  469. package/dist/m365/spo/commands/user/user-remove.js +88 -73
  470. package/dist/m365/spo/commands/userprofile/userprofile-get.js +54 -35
  471. package/dist/m365/spo/commands/userprofile/userprofile-set.js +62 -49
  472. package/dist/m365/spo/commands/web/web-add.js +129 -141
  473. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +58 -39
  474. package/dist/m365/spo/commands/web/web-get.js +58 -38
  475. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +48 -29
  476. package/dist/m365/spo/commands/web/web-list.js +52 -33
  477. package/dist/m365/spo/commands/web/web-reindex.js +68 -66
  478. package/dist/m365/spo/commands/web/web-remove.js +71 -53
  479. package/dist/m365/spo/commands/web/web-roleassignment-add.js +186 -0
  480. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +168 -0
  481. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +94 -0
  482. package/dist/m365/spo/commands/web/web-set.js +123 -107
  483. package/dist/m365/spo/commands.js +15 -0
  484. package/dist/m365/teams/commands/app/app-install.js +74 -54
  485. package/dist/m365/teams/commands/app/app-list.js +61 -39
  486. package/dist/m365/teams/commands/app/app-publish.js +52 -31
  487. package/dist/m365/teams/commands/app/app-remove.js +70 -50
  488. package/dist/m365/teams/commands/app/app-uninstall.js +71 -47
  489. package/dist/m365/teams/commands/app/app-update.js +68 -50
  490. package/dist/m365/teams/commands/cache/cache-remove.js +51 -42
  491. package/dist/m365/teams/commands/channel/channel-add.js +67 -52
  492. package/dist/m365/teams/commands/channel/channel-get.js +81 -88
  493. package/dist/m365/teams/commands/channel/channel-list.js +64 -47
  494. package/dist/m365/teams/commands/channel/channel-member-add.js +83 -82
  495. package/dist/m365/teams/commands/channel/channel-member-list.js +77 -78
  496. package/dist/m365/teams/commands/channel/channel-member-remove.js +91 -88
  497. package/dist/m365/teams/commands/channel/channel-member-set.js +91 -103
  498. package/dist/m365/teams/commands/channel/channel-remove.js +106 -95
  499. package/dist/m365/teams/commands/channel/channel-set.js +79 -59
  500. package/dist/m365/teams/commands/chat/chat-get.js +59 -60
  501. package/dist/m365/teams/commands/chat/chat-list.js +50 -21
  502. package/dist/m365/teams/commands/chat/chat-member-list.js +43 -21
  503. package/dist/m365/teams/commands/chat/chat-message-list.js +59 -37
  504. package/dist/m365/teams/commands/chat/chat-message-send.js +60 -64
  505. package/dist/m365/teams/commands/chat/chatUtil.js +0 -12
  506. package/dist/m365/teams/commands/funsettings/funsettings-list.js +48 -27
  507. package/dist/m365/teams/commands/funsettings/funsettings-set.js +75 -54
  508. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +48 -27
  509. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +65 -44
  510. package/dist/m365/teams/commands/membersettings/membersettings-list.js +48 -27
  511. package/dist/m365/teams/commands/membersettings/membersettings-set.js +71 -53
  512. package/dist/m365/teams/commands/message/message-get.js +53 -34
  513. package/dist/m365/teams/commands/message/message-list.js +62 -35
  514. package/dist/m365/teams/commands/message/message-reply-list.js +52 -32
  515. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +48 -27
  516. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +72 -54
  517. package/dist/m365/teams/commands/report/report-directroutingcalls.js +59 -37
  518. package/dist/m365/teams/commands/report/report-pstncalls.js +59 -37
  519. package/dist/m365/teams/commands/tab/tab-add.js +79 -63
  520. package/dist/m365/teams/commands/tab/tab-get.js +81 -89
  521. package/dist/m365/teams/commands/tab/tab-list.js +49 -28
  522. package/dist/m365/teams/commands/tab/tab-remove.js +77 -57
  523. package/dist/m365/teams/commands/team/team-add.js +97 -85
  524. package/dist/m365/teams/commands/team/team-archive.js +68 -55
  525. package/dist/m365/teams/commands/team/team-clone.js +103 -104
  526. package/dist/m365/teams/commands/team/team-get.js +62 -45
  527. package/dist/m365/teams/commands/team/team-list.js +52 -33
  528. package/dist/m365/teams/commands/team/team-remove.js +76 -72
  529. package/dist/m365/teams/commands/team/team-set.js +73 -69
  530. package/dist/m365/teams/commands/team/team-unarchive.js +55 -48
  531. package/dist/m365/teams/commands/user/user-app-add.js +55 -33
  532. package/dist/m365/teams/commands/user/user-app-list.js +74 -58
  533. package/dist/m365/teams/commands/user/user-app-remove.js +73 -54
  534. package/dist/m365/teams/commands/user/user-list.js +59 -44
  535. package/dist/m365/teams/commands.js +0 -3
  536. package/dist/m365/tenant/commands/id/id-get.js +59 -34
  537. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +38 -24
  538. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +38 -24
  539. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +38 -24
  540. package/dist/m365/tenant/commands/security/security-alerts-list.js +41 -20
  541. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +41 -21
  542. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +41 -20
  543. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +41 -22
  544. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +39 -20
  545. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +49 -28
  546. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +46 -20
  547. package/dist/m365/todo/commands/list/list-add.js +46 -27
  548. package/dist/m365/todo/commands/list/list-list.js +20 -8
  549. package/dist/m365/todo/commands/list/list-remove.js +88 -79
  550. package/dist/m365/todo/commands/list/list-set.js +65 -55
  551. package/dist/m365/todo/commands/task/task-add.js +63 -52
  552. package/dist/m365/todo/commands/task/task-list.js +62 -50
  553. package/dist/m365/todo/commands/task/task-remove.js +90 -82
  554. package/dist/m365/todo/commands/task/task-set.js +82 -71
  555. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +50 -25
  556. package/dist/m365/viva/commands/connections/connections-app-create.js +135 -130
  557. package/dist/m365/yammer/commands/group/group-list.js +47 -28
  558. package/dist/m365/yammer/commands/group/group-user-add.js +65 -42
  559. package/dist/m365/yammer/commands/group/group-user-remove.js +83 -64
  560. package/dist/m365/yammer/commands/message/message-add.js +75 -56
  561. package/dist/m365/yammer/commands/message/message-get.js +47 -26
  562. package/dist/m365/yammer/commands/message/message-like-set.js +85 -71
  563. package/dist/m365/yammer/commands/message/message-list.js +73 -58
  564. package/dist/m365/yammer/commands/message/message-remove.js +69 -49
  565. package/dist/m365/yammer/commands/network/network-list.js +51 -30
  566. package/dist/m365/yammer/commands/user/user-get.js +65 -43
  567. package/dist/m365/yammer/commands/user/user-list.js +57 -41
  568. package/dist/m365/yammer/commands/yammer-search.js +115 -97
  569. package/dist/request.js +10 -6
  570. package/dist/settingsNames.js +0 -1
  571. package/dist/utils/cache.js +81 -0
  572. package/dist/utils/fsUtil.js +2 -4
  573. package/dist/utils/md.js +1 -1
  574. package/dist/utils/pid.js +57 -0
  575. package/dist/utils/powerPlatform.js +42 -0
  576. package/dist/utils/spo.js +7 -6
  577. package/docs/docs/cmd/aad/app/app-add.md +12 -1
  578. package/docs/docs/cmd/aad/app/app-set.md +1 -1
  579. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.md +5 -5
  580. package/docs/docs/cmd/aad/approleassignment/approleassignment-list.md +5 -5
  581. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.md +5 -5
  582. package/docs/docs/cmd/aad/o365group/o365group-add.md +3 -3
  583. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.md +7 -7
  584. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +1 -7
  585. package/docs/docs/cmd/aad/o365group/o365group-teamify.md +4 -4
  586. package/docs/docs/cmd/aad/policy/policy-list.md +2 -2
  587. package/docs/docs/cmd/aad/sp/sp-get.md +5 -5
  588. package/docs/docs/cmd/aad/user/user-signin-list.md +1 -1
  589. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +0 -20
  590. package/docs/docs/cmd/booking/business/business-get.md +33 -0
  591. package/docs/docs/cmd/booking/business/business-list.md +21 -0
  592. package/docs/docs/cmd/cli/completion/completion-clink-update.md +1 -1
  593. package/docs/docs/cmd/cli/completion/completion-pwsh-setup.md +1 -1
  594. package/docs/docs/cmd/cli/completion/completion-pwsh-update.md +1 -1
  595. package/docs/docs/cmd/cli/completion/completion-sh-setup.md +1 -1
  596. package/docs/docs/cmd/cli/completion/completion-sh-update.md +1 -1
  597. package/docs/docs/cmd/flow/flow-disable.md +3 -3
  598. package/docs/docs/cmd/flow/flow-enable.md +1 -1
  599. package/docs/docs/cmd/flow/flow-export.md +5 -5
  600. package/docs/docs/cmd/flow/flow-get.md +3 -3
  601. package/docs/docs/cmd/flow/flow-list.md +3 -3
  602. package/docs/docs/cmd/flow/flow-remove.md +5 -5
  603. package/docs/docs/cmd/flow/run/run-cancel.md +3 -3
  604. package/docs/docs/cmd/flow/run/run-get.md +3 -3
  605. package/docs/docs/cmd/flow/run/run-list.md +3 -3
  606. package/docs/docs/cmd/flow/run/run-resubmit.md +4 -4
  607. package/docs/docs/cmd/graph/changelog/changelog-list.md +53 -0
  608. package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +1 -1
  609. package/docs/docs/cmd/onenote/notebook/notebook-list.md +70 -0
  610. package/docs/docs/cmd/outlook/mail/mail-send.md +69 -17
  611. package/docs/docs/cmd/outlook/message/message-move.md +4 -4
  612. package/docs/docs/cmd/pa/connector/connector-export.md +3 -3
  613. package/docs/docs/cmd/pa/connector/connector-list.md +2 -2
  614. package/docs/docs/cmd/pa/solution/solution-reference-add.md +2 -2
  615. package/docs/docs/cmd/planner/task/task-checklistitem-list.md +1 -1
  616. package/docs/docs/cmd/planner/task/task-reference-add.md +1 -1
  617. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
  618. package/docs/docs/cmd/pp/environment/environment-list.md +2 -2
  619. package/docs/docs/cmd/pp/solution/solution-list.md +33 -0
  620. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +26 -0
  621. package/docs/docs/cmd/request.md +76 -0
  622. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +40 -0
  623. package/docs/docs/cmd/spfx/package/package-generate.md +2 -2
  624. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  625. package/docs/docs/cmd/spfx/spfx-doctor.md +13 -4
  626. package/docs/docs/cmd/spo/app/app-add.md +2 -2
  627. package/docs/docs/cmd/spo/app/app-deploy.md +2 -2
  628. package/docs/docs/cmd/spo/app/app-get.md +2 -2
  629. package/docs/docs/cmd/spo/app/app-install.md +2 -2
  630. package/docs/docs/cmd/spo/app/app-list.md +2 -2
  631. package/docs/docs/cmd/spo/app/app-remove.md +2 -2
  632. package/docs/docs/cmd/spo/app/app-retract.md +2 -2
  633. package/docs/docs/cmd/spo/app/app-uninstall.md +2 -2
  634. package/docs/docs/cmd/spo/app/app-upgrade.md +2 -2
  635. package/docs/docs/cmd/spo/apppage/apppage-set.md +2 -2
  636. package/docs/docs/cmd/spo/cdn/cdn-policy-list.md +3 -3
  637. package/docs/docs/cmd/spo/cdn/cdn-policy-set.md +3 -3
  638. package/docs/docs/cmd/spo/contenttype/contenttype-field-set.md +4 -4
  639. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
  640. package/docs/docs/cmd/spo/customaction/customaction-add.md +10 -10
  641. package/docs/docs/cmd/spo/customaction/customaction-clear.md +4 -4
  642. package/docs/docs/cmd/spo/customaction/customaction-get.md +5 -5
  643. package/docs/docs/cmd/spo/customaction/customaction-list.md +4 -4
  644. package/docs/docs/cmd/spo/customaction/customaction-remove.md +9 -9
  645. package/docs/docs/cmd/spo/customaction/customaction-set.md +7 -7
  646. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +69 -0
  647. package/docs/docs/cmd/spo/feature/feature-disable.md +4 -4
  648. package/docs/docs/cmd/spo/feature/feature-enable.md +2 -2
  649. package/docs/docs/cmd/spo/feature/feature-list.md +3 -3
  650. package/docs/docs/cmd/spo/field/field-get.md +0 -3
  651. package/docs/docs/cmd/spo/field/field-remove.md +0 -3
  652. package/docs/docs/cmd/spo/field/field-set.md +0 -3
  653. package/docs/docs/cmd/spo/file/file-checkin.md +6 -6
  654. package/docs/docs/cmd/spo/file/file-checkout.md +4 -4
  655. package/docs/docs/cmd/spo/file/file-rename.md +43 -0
  656. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
  657. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
  658. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +39 -0
  659. package/docs/docs/cmd/spo/file/file-sharinginfo-get.md +7 -7
  660. package/docs/docs/cmd/spo/folder/folder-get.md +13 -4
  661. package/docs/docs/cmd/spo/folder/folder-remove.md +3 -3
  662. package/docs/docs/cmd/spo/folder/folder-rename.md +2 -2
  663. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +39 -0
  664. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +36 -0
  665. package/docs/docs/cmd/spo/group/group-get.md +12 -3
  666. package/docs/docs/cmd/spo/group/group-list.md +10 -1
  667. package/docs/docs/cmd/spo/hubsite/hubsite-connect.md +4 -4
  668. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +5 -5
  669. package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
  670. package/docs/docs/cmd/spo/hubsite/hubsite-register.md +2 -2
  671. package/docs/docs/cmd/spo/hubsite/hubsite-rights-grant.md +4 -4
  672. package/docs/docs/cmd/spo/hubsite/hubsite-rights-revoke.md +3 -3
  673. package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +2 -2
  674. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.md +2 -2
  675. package/docs/docs/cmd/spo/list/list-contenttype-add.md +3 -3
  676. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +3 -3
  677. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +78 -0
  678. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +57 -0
  679. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +9 -0
  680. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +9 -0
  681. package/docs/docs/cmd/spo/list/list-view-field-add.md +8 -8
  682. package/docs/docs/cmd/spo/list/list-view-field-remove.md +6 -6
  683. package/docs/docs/cmd/spo/list/list-view-field-set.md +7 -7
  684. package/docs/docs/cmd/spo/list/list-view-get.md +7 -7
  685. package/docs/docs/cmd/spo/list/list-view-remove.md +8 -8
  686. package/docs/docs/cmd/spo/list/list-view-set.md +7 -7
  687. package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +5 -5
  688. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.md +3 -3
  689. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +67 -0
  690. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +15 -6
  691. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +9 -0
  692. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +1 -1
  693. package/docs/docs/cmd/spo/page/page-column-get.md +3 -3
  694. package/docs/docs/cmd/spo/page/page-column-list.md +3 -3
  695. package/docs/docs/cmd/spo/page/page-control-get.md +3 -3
  696. package/docs/docs/cmd/spo/page/page-control-list.md +3 -3
  697. package/docs/docs/cmd/spo/page/page-control-set.md +4 -4
  698. package/docs/docs/cmd/spo/page/page-section-add.md +3 -3
  699. package/docs/docs/cmd/spo/page/page-section-get.md +3 -3
  700. package/docs/docs/cmd/spo/page/page-section-list.md +3 -3
  701. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
  702. package/docs/docs/cmd/spo/roledefinition/roledefinition-get.md +1 -1
  703. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-revoke.md +2 -2
  704. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-approve.md +2 -2
  705. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-deny.md +2 -2
  706. package/docs/docs/cmd/spo/site/site-add.md +2 -2
  707. package/docs/docs/cmd/spo/site/site-appcatalog-add.md +2 -2
  708. package/docs/docs/cmd/spo/site/site-appcatalog-remove.md +2 -2
  709. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  710. package/docs/docs/cmd/spo/site/site-apppermission-get.md +2 -2
  711. package/docs/docs/cmd/spo/site/site-apppermission-remove.md +2 -2
  712. package/docs/docs/cmd/spo/site/site-apppermission-set.md +6 -6
  713. package/docs/docs/cmd/spo/site/site-chrome-set.md +4 -4
  714. package/docs/docs/cmd/spo/site/site-groupify.md +5 -11
  715. package/docs/docs/cmd/spo/site/site-rename.md +6 -6
  716. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.md +4 -4
  717. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.md +3 -3
  718. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.md +3 -3
  719. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.md +2 -2
  720. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.md +5 -5
  721. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.md +3 -3
  722. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.md +6 -3
  723. package/docs/docs/cmd/spo/web/web-add.md +4 -4
  724. package/docs/docs/cmd/spo/web/web-get.md +3 -3
  725. package/docs/docs/cmd/spo/web/web-list.md +2 -2
  726. package/docs/docs/cmd/spo/web/web-reindex.md +2 -2
  727. package/docs/docs/cmd/spo/web/web-remove.md +2 -2
  728. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +57 -0
  729. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +54 -0
  730. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +33 -0
  731. package/docs/docs/cmd/spo/web/web-set.md +9 -9
  732. package/docs/docs/cmd/teams/app/app-install.md +5 -5
  733. package/docs/docs/cmd/teams/app/app-uninstall.md +3 -3
  734. package/docs/docs/cmd/teams/cache/cache-remove.md +1 -1
  735. package/docs/docs/cmd/teams/channel/channel-add.md +1 -1
  736. package/docs/docs/cmd/teams/channel/channel-get.md +7 -7
  737. package/docs/docs/cmd/teams/channel/channel-list.md +1 -1
  738. package/docs/docs/cmd/teams/channel/channel-member-add.md +5 -11
  739. package/docs/docs/cmd/teams/channel/channel-member-list.md +0 -6
  740. package/docs/docs/cmd/teams/channel/channel-member-remove.md +1 -7
  741. package/docs/docs/cmd/teams/channel/channel-member-set.md +2 -2
  742. package/docs/docs/cmd/teams/channel/channel-remove.md +7 -7
  743. package/docs/docs/cmd/teams/channel/channel-set.md +4 -4
  744. package/docs/docs/cmd/teams/funsettings/funsettings-set.md +6 -6
  745. package/docs/docs/cmd/teams/message/message-get.md +3 -3
  746. package/docs/docs/cmd/teams/tab/tab-get.md +6 -6
  747. package/docs/docs/cmd/teams/tab/tab-remove.md +4 -4
  748. package/docs/docs/cmd/teams/team/team-archive.md +0 -3
  749. package/docs/docs/cmd/teams/team/team-clone.md +0 -3
  750. package/docs/docs/cmd/teams/team/team-remove.md +0 -3
  751. package/docs/docs/cmd/teams/team/team-set.md +0 -3
  752. package/docs/docs/cmd/teams/team/team-unarchive.md +0 -3
  753. package/docs/docs/cmd/teams/user/user-app-add.md +3 -3
  754. package/docs/docs/cmd/teams/user/user-app-remove.md +3 -3
  755. package/docs/docs/cmd/tenant/security/security-alerts-list.md +1 -1
  756. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +1 -1
  757. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +1 -1
  758. package/docs/docs/cmd/viva/connections/connections-app-create.md +2 -2
  759. package/docs/docs/cmd/yammer/group/group-user-add.md +5 -5
  760. package/docs/docs/cmd/yammer/group/group-user-remove.md +5 -5
  761. package/docs/docs/cmd/yammer/message/message-like-set.md +4 -4
  762. package/docs/docs/cmd/yammer/user/user-get.md +2 -2
  763. package/npm-shrinkwrap.json +403 -379
  764. package/package.json +37 -20
  765. package/scripts/Register-CLIM365Completion.ps1 +1 -1
  766. package/dist/cli/index.js +0 -21
  767. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
  768. package/dist/utils/index.js +0 -31
@@ -27,7 +27,9 @@ RUN apt-get update && apt-get install -y \
27
27
  && apt-get install nodejs -y \
28
28
  && rm -rf /var/lib/apt/lists/*
29
29
 
30
- RUN pip3 install mkdocs-material==7.1.7 pymdown-extensions==9.0 pygments==2.11
30
+ COPY ../docs/pip_requirements.txt .
31
+
32
+ RUN pip install -r pip_requirements.txt
31
33
 
32
34
  RUN useradd \
33
35
  --user-group \
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "CLI for Microsoft 365",
3
3
  "dockerFile": "Dockerfile",
4
+ "context": "..",
4
5
  "settings": {
5
6
  "terminal.integrated.profiles.linux": {
6
7
  "zsh": {
package/.eslintrc.js CHANGED
@@ -17,6 +17,7 @@ const dictionary = [
17
17
  'content',
18
18
  'conversation',
19
19
  'custom',
20
+ 'dataverse',
20
21
  'default',
21
22
  'external',
22
23
  'externalize',
@@ -61,6 +62,7 @@ const dictionary = [
61
62
  'site',
62
63
  'status',
63
64
  'storage',
65
+ 'table',
64
66
  'teams',
65
67
  'token',
66
68
  'type',
@@ -172,6 +174,17 @@ module.exports = {
172
174
  "eqeqeq": [
173
175
  "error",
174
176
  "always"
177
+ ],
178
+ "@typescript-eslint/naming-convention": [
179
+ "error",
180
+ {
181
+ "selector": [
182
+ "method"
183
+ ],
184
+ "format": [
185
+ "camelCase"
186
+ ]
187
+ }
175
188
  ]
176
189
  },
177
190
  "overrides": [
package/README.md CHANGED
@@ -15,6 +15,11 @@
15
15
  alt="GitHub" />
16
16
  </a>
17
17
 
18
+ <a href="https://discord.com/invite/7rfW4kg6B5">
19
+ <img src="https://img.shields.io/badge/Discord-Join-7289da?style=flat-square"
20
+ alt="Discord" />
21
+ </a>
22
+
18
23
  <a href="https://twitter.com/climicrosoft365">
19
24
  <img src="https://img.shields.io/badge/Twitter-%40climicrosoft365-blue?style=flat-square"
20
25
  alt="Twitter" />
package/dist/Auth.js CHANGED
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Auth = exports.CertificateType = exports.AuthType = exports.Service = void 0;
13
13
  const FileTokenStorage_1 = require("./auth/FileTokenStorage");
14
14
  const msalCachePlugin_1 = require("./auth/msalCachePlugin");
15
- const cli_1 = require("./cli");
15
+ const Cli_1 = require("./cli/Cli");
16
16
  const Command_1 = require("./Command");
17
17
  const config_1 = require("./config");
18
18
  const request_1 = require("./request");
@@ -301,8 +301,7 @@ class Auth {
301
301
  logger.logToStderr('');
302
302
  }
303
303
  logger.log(response.message);
304
- if (cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.autoOpenBrowserOnLogin, false)
305
- || cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.autoOpenLinksInBrowser, false)) {
304
+ if (Cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.autoOpenLinksInBrowser, false)) {
306
305
  // _open is never set before hitting this line, but this check
307
306
  // is implemented so that we can support lazy loading
308
307
  // but also stub it for testing
@@ -312,7 +311,7 @@ class Auth {
312
311
  }
313
312
  this._open(response.verificationUri);
314
313
  }
315
- if (cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.copyDeviceCodeToClipboard, false)) {
314
+ if (Cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.copyDeviceCodeToClipboard, false)) {
316
315
  // _clipboardy is never set before hitting this line, but this check
317
316
  // is implemented so that we can support lazy loading
318
317
  // but also stub it for testing
package/dist/Command.js CHANGED
@@ -8,13 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ 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");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _Command_instances, _Command_initTelemetry, _Command_initOptions, _Command_initValidators;
11
17
  Object.defineProperty(exports, "__esModule", { value: true });
12
18
  exports.CommandErrorWithOutput = exports.CommandError = void 0;
19
+ const os = require("os");
13
20
  const appInsights_1 = require("./appInsights");
14
21
  const Auth_1 = require("./Auth");
15
- const cli_1 = require("./cli");
22
+ const Cli_1 = require("./cli/Cli");
16
23
  const request_1 = require("./request");
17
- const utils_1 = require("./utils");
24
+ const settingsNames_1 = require("./settingsNames");
25
+ const accessToken_1 = require("./utils/accessToken");
18
26
  class CommandError {
19
27
  constructor(message, code) {
20
28
  this.message = message;
@@ -31,77 +39,105 @@ class CommandErrorWithOutput {
31
39
  exports.CommandErrorWithOutput = CommandErrorWithOutput;
32
40
  class Command {
33
41
  constructor() {
34
- this._debug = false;
35
- this._verbose = false;
36
- }
37
- get debug() {
38
- return this._debug;
39
- }
40
- get verbose() {
41
- return this._verbose;
42
- }
43
- showDeprecationWarning(logger, deprecated, recommended) {
44
- const cli = cli_1.Cli.getInstance();
45
- if (cli.currentCommandName &&
46
- cli.currentCommandName.indexOf(deprecated) === 0) {
47
- const chalk = require('chalk');
48
- logger.logToStderr(chalk.yellow(`Command '${deprecated}' is deprecated. Please use '${recommended}' instead`));
49
- }
50
- }
51
- warn(logger, warning) {
52
- const chalk = require('chalk');
53
- logger.logToStderr(chalk.yellow(warning));
42
+ // These functions must be defined with # so that they're truly private
43
+ // otherwise you'll get a ts2415 error (Types have separate declarations of
44
+ // a private property 'x'.).
45
+ // `private` in TS is a design-time flag and private members end-up being
46
+ // regular class properties that would collide on runtime, which is why we
47
+ // need the extra `#`
48
+ _Command_instances.add(this);
49
+ this.debug = false;
50
+ this.verbose = false;
51
+ this.telemetry = [];
52
+ this.telemetryProperties = {};
53
+ this.options = [];
54
+ this.optionSets = [];
55
+ this.types = {
56
+ boolean: [],
57
+ string: []
58
+ };
59
+ this.validators = [];
60
+ __classPrivateFieldGet(this, _Command_instances, "m", _Command_initTelemetry).call(this);
61
+ __classPrivateFieldGet(this, _Command_instances, "m", _Command_initOptions).call(this);
62
+ __classPrivateFieldGet(this, _Command_instances, "m", _Command_initValidators).call(this);
54
63
  }
55
- getUsedCommandName() {
56
- const cli = cli_1.Cli.getInstance();
57
- const commandName = this.getCommandName();
58
- if (!cli.currentCommandName) {
59
- return commandName;
60
- }
61
- if (cli.currentCommandName &&
62
- cli.currentCommandName.indexOf(commandName) === 0) {
63
- return commandName;
64
- }
65
- // since the command was called by something else than its name
66
- // it must have aliases
67
- const aliases = this.alias();
68
- for (let i = 0; i < aliases.length; i++) {
69
- if (cli.currentCommandName.indexOf(aliases[i]) === 0) {
70
- return aliases[i];
64
+ validateUnknownOptions(args, command) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ if (this.allowUnknownOptions()) {
67
+ return true;
71
68
  }
72
- }
73
- // shouldn't happen because the command is called either by its name or alias
74
- return '';
69
+ // if the command doesn't allow unknown options, check if all specified
70
+ // options match command options
71
+ for (const optionFromArgs in args.options) {
72
+ let matches = false;
73
+ for (let i = 0; i < command.options.length; i++) {
74
+ const option = command.options[i];
75
+ if (optionFromArgs === option.long ||
76
+ optionFromArgs === option.short) {
77
+ matches = true;
78
+ break;
79
+ }
80
+ }
81
+ if (!matches) {
82
+ return `Invalid option: '${optionFromArgs}'${os.EOL}`;
83
+ }
84
+ }
85
+ return true;
86
+ });
75
87
  }
76
- action(logger, args, cb) {
77
- Auth_1.default
78
- .restoreAuth()
79
- .then(() => {
80
- this.initAction(args, logger);
81
- if (!Auth_1.default.service.connected) {
82
- cb(new CommandError('Log in to Microsoft 365 first'));
83
- return;
88
+ validateRequiredOptions(args, command) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ const shouldPrompt = Cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.prompt, false);
91
+ let inquirer;
92
+ let prompted = false;
93
+ for (let i = 0; i < command.options.length; i++) {
94
+ if (!command.options[i].required ||
95
+ typeof args.options[command.options[i].name] !== 'undefined') {
96
+ continue;
97
+ }
98
+ if (!shouldPrompt) {
99
+ return `Required option ${command.options[i].name} not specified`;
100
+ }
101
+ if (!prompted) {
102
+ prompted = true;
103
+ Cli_1.Cli.log('Provide values for the following parameters:');
104
+ }
105
+ if (!inquirer) {
106
+ inquirer = require('inquirer');
107
+ }
108
+ const missingRequireOptionValue = yield inquirer
109
+ .prompt({
110
+ name: 'missingRequireOptionValue',
111
+ message: `${command.options[i].name}: `
112
+ })
113
+ .then(result => result.missingRequireOptionValue);
114
+ args.options[command.options[i].name] = missingRequireOptionValue;
84
115
  }
85
- this.loadValuesFromAccessToken(args);
86
- this.commandAction(logger, args, cb);
87
- }, (error) => {
88
- cb(new CommandError(error));
116
+ return true;
89
117
  });
90
118
  }
91
- getTelemetryProperties(args) {
92
- return {
93
- debug: this.debug.toString(),
94
- verbose: this.verbose.toString(),
95
- output: args.options.output,
96
- query: typeof args.options.query !== 'undefined'
97
- };
119
+ validateOptionSets(args, command) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const optionsSets = command.command.optionSets;
122
+ if (!optionsSets || optionsSets.length === 0) {
123
+ return true;
124
+ }
125
+ const argsOptions = Object.keys(args.options);
126
+ for (const optionSet of optionsSets) {
127
+ const commonOptions = argsOptions.filter(opt => optionSet.includes(opt));
128
+ if (commonOptions.length === 0) {
129
+ return `Specify one of the following options: ${optionSet.map(opt => opt).join(', ')}.`;
130
+ }
131
+ if (commonOptions.length > 1) {
132
+ return `Specify one of the following options: ${optionSet.map(opt => opt).join(', ')}, but not multiple.`;
133
+ }
134
+ }
135
+ return true;
136
+ });
98
137
  }
99
138
  alias() {
100
139
  return;
101
140
  }
102
- autocomplete() {
103
- return;
104
- }
105
141
  /**
106
142
  * Returns list of properties that should be returned in the text output.
107
143
  * Returns all properties if no default properties specified
@@ -112,33 +148,6 @@ class Command {
112
148
  allowUnknownOptions() {
113
149
  return;
114
150
  }
115
- options() {
116
- return [
117
- {
118
- option: '--query [query]'
119
- },
120
- {
121
- option: '-o, --output [output]',
122
- autocomplete: ['csv', 'json', 'text']
123
- },
124
- {
125
- option: '--verbose'
126
- },
127
- {
128
- option: '--debug'
129
- }
130
- ];
131
- }
132
- optionSets() {
133
- return;
134
- }
135
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
136
- validate(args) {
137
- return true;
138
- }
139
- types() {
140
- return;
141
- }
142
151
  /**
143
152
  * Processes options after resolving them from the user input and before
144
153
  * passing them on to command action for execution. Used for example for
@@ -150,6 +159,41 @@ class Command {
150
159
  return __awaiter(this, void 0, void 0, function* () {
151
160
  });
152
161
  }
162
+ action(logger, args) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ try {
165
+ yield Auth_1.default.restoreAuth();
166
+ }
167
+ catch (error) {
168
+ throw new CommandError(error);
169
+ }
170
+ this.initAction(args, logger);
171
+ if (!Auth_1.default.service.connected) {
172
+ throw new CommandError('Log in to Microsoft 365 first');
173
+ }
174
+ try {
175
+ this.loadValuesFromAccessToken(args);
176
+ yield this.commandAction(logger, args);
177
+ }
178
+ catch (ex) {
179
+ if (ex instanceof CommandError) {
180
+ throw ex;
181
+ }
182
+ throw new CommandError(ex);
183
+ }
184
+ });
185
+ }
186
+ validate(args, command) {
187
+ return __awaiter(this, void 0, void 0, function* () {
188
+ for (const validate of this.validators) {
189
+ const result = yield validate(args, command);
190
+ if (result !== true) {
191
+ return result;
192
+ }
193
+ }
194
+ return true;
195
+ });
196
+ }
153
197
  getCommandName(alias) {
154
198
  var _a;
155
199
  if (alias &&
@@ -167,92 +211,100 @@ class Command {
167
211
  }
168
212
  return commandName;
169
213
  }
170
- handleRejectedODataPromise(rawResponse, logger, callback) {
214
+ handleRejectedODataPromise(rawResponse) {
171
215
  const res = JSON.parse(JSON.stringify(rawResponse));
172
216
  if (res.error) {
173
217
  try {
174
218
  const err = JSON.parse(res.error);
175
- callback(new CommandError(err['odata.error'].message.value));
219
+ throw new CommandError(err['odata.error'].message.value);
176
220
  }
177
- catch (_a) {
221
+ catch (err) {
222
+ if (err instanceof CommandError) {
223
+ throw err;
224
+ }
178
225
  try {
179
226
  const graphResponseError = res.error;
180
227
  if (graphResponseError.error.code) {
181
- callback(new CommandError(graphResponseError.error.code + " - " + graphResponseError.error.message));
228
+ throw new CommandError(graphResponseError.error.code + " - " + graphResponseError.error.message);
182
229
  }
183
230
  else {
184
- callback(new CommandError(graphResponseError.error.message));
231
+ throw new CommandError(graphResponseError.error.message);
185
232
  }
186
233
  }
187
- catch (_b) {
188
- callback(new CommandError(res.error));
234
+ catch (err) {
235
+ if (err instanceof CommandError) {
236
+ throw err;
237
+ }
238
+ throw new CommandError(res.error);
189
239
  }
190
240
  }
191
241
  }
192
242
  else {
193
243
  if (rawResponse instanceof Error) {
194
- callback(new CommandError(rawResponse.message));
244
+ throw new CommandError(rawResponse.message);
195
245
  }
196
246
  else {
197
- callback(new CommandError(rawResponse));
247
+ throw new CommandError(rawResponse);
198
248
  }
199
249
  }
200
250
  }
201
- handleRejectedODataJsonPromise(response, logger, callback) {
202
- // console.log(JSON.stringify(response, null, 2));
251
+ handleRejectedODataJsonPromise(response) {
203
252
  if (response.error &&
204
253
  response.error['odata.error'] &&
205
254
  response.error['odata.error'].message) {
206
- return callback(new CommandError(response.error['odata.error'].message.value));
255
+ throw new CommandError(response.error['odata.error'].message.value);
207
256
  }
208
257
  if (!response.error) {
209
258
  if (response instanceof Error) {
210
- return callback(new CommandError(response.message));
259
+ throw new CommandError(response.message);
211
260
  }
212
261
  else {
213
- return callback(new CommandError(response));
262
+ throw new CommandError(response);
214
263
  }
215
264
  }
216
265
  if (response.error.error &&
217
266
  response.error.error.message) {
218
- return callback(new CommandError(response.error.error.message));
267
+ throw new CommandError(response.error.error.message);
219
268
  }
220
269
  if (response.error.message) {
221
- return callback(new CommandError(response.error.message));
270
+ throw new CommandError(response.error.message);
222
271
  }
223
272
  if (response.error.error_description) {
224
- return callback(new CommandError(response.error.error_description));
273
+ throw new CommandError(response.error.error_description);
225
274
  }
226
275
  try {
227
276
  const error = JSON.parse(response.error);
228
277
  if (error &&
229
278
  error.error &&
230
279
  error.error.message) {
231
- callback(new CommandError(error.error.message));
280
+ throw new CommandError(error.error.message);
232
281
  }
233
282
  else {
234
- callback(new CommandError(response.error));
283
+ throw new CommandError(response.error);
235
284
  }
236
285
  }
237
- catch (_a) {
238
- callback(new CommandError(response.error));
286
+ catch (err) {
287
+ if (err instanceof CommandError) {
288
+ throw err;
289
+ }
290
+ throw new CommandError(response.error);
239
291
  }
240
292
  }
241
- handleError(rawResponse, logger, callback) {
293
+ handleError(rawResponse) {
242
294
  if (rawResponse instanceof Error) {
243
- callback(new CommandError(rawResponse.message));
295
+ throw new CommandError(rawResponse.message);
244
296
  }
245
297
  else {
246
- callback(new CommandError(rawResponse));
298
+ throw new CommandError(rawResponse);
247
299
  }
248
300
  }
249
- handleRejectedPromise(rawResponse, logger, callback) {
250
- this.handleError(rawResponse, logger, callback);
301
+ handleRejectedPromise(rawResponse) {
302
+ this.handleError(rawResponse);
251
303
  }
252
304
  initAction(args, logger) {
253
- this._debug = args.options.debug || process.env.CLIMICROSOFT365_DEBUG === '1';
254
- this._verbose = this._debug || args.options.verbose || process.env.CLIMICROSOFT365_VERBOSE === '1';
255
- request_1.default.debug = this._debug;
305
+ this.debug = args.options.debug || process.env.CLIMICROSOFT365_DEBUG === '1';
306
+ this.verbose = this.debug || args.options.verbose || process.env.CLIMICROSOFT365_VERBOSE === '1';
307
+ request_1.default.debug = this.debug;
256
308
  request_1.default.logger = logger;
257
309
  appInsights_1.default.trackEvent({
258
310
  name: this.getUsedCommandName(),
@@ -264,7 +316,7 @@ class Command {
264
316
  const unknownOptions = JSON.parse(JSON.stringify(options));
265
317
  // remove minimist catch-all option
266
318
  delete unknownOptions._;
267
- const knownOptions = this.options();
319
+ const knownOptions = this.options;
268
320
  const longOptionRegex = /--([^\s]+)/;
269
321
  const shortOptionRegex = /-([a-z])\b/;
270
322
  knownOptions.forEach(o => {
@@ -307,13 +359,67 @@ class Command {
307
359
  }
308
360
  const lowerCaseValue = value.toLowerCase();
309
361
  if (lowerCaseValue === '@meid') {
310
- args.options[option] = utils_1.accessToken.getUserIdFromAccessToken(token);
362
+ args.options[option] = accessToken_1.accessToken.getUserIdFromAccessToken(token);
311
363
  }
312
364
  if (lowerCaseValue === '@meusername') {
313
- args.options[option] = utils_1.accessToken.getUserNameFromAccessToken(token);
365
+ args.options[option] = accessToken_1.accessToken.getUserNameFromAccessToken(token);
314
366
  }
315
367
  });
316
368
  }
369
+ showDeprecationWarning(logger, deprecated, recommended) {
370
+ const cli = Cli_1.Cli.getInstance();
371
+ if (cli.currentCommandName &&
372
+ cli.currentCommandName.indexOf(deprecated) === 0) {
373
+ const chalk = require('chalk');
374
+ logger.logToStderr(chalk.yellow(`Command '${deprecated}' is deprecated. Please use '${recommended}' instead`));
375
+ }
376
+ }
377
+ warn(logger, warning) {
378
+ const chalk = require('chalk');
379
+ logger.logToStderr(chalk.yellow(warning));
380
+ }
381
+ getUsedCommandName() {
382
+ const cli = Cli_1.Cli.getInstance();
383
+ const commandName = this.getCommandName();
384
+ if (!cli.currentCommandName) {
385
+ return commandName;
386
+ }
387
+ if (cli.currentCommandName &&
388
+ cli.currentCommandName.indexOf(commandName) === 0) {
389
+ return commandName;
390
+ }
391
+ // since the command was called by something else than its name
392
+ // it must have aliases
393
+ const aliases = this.alias();
394
+ for (let i = 0; i < aliases.length; i++) {
395
+ if (cli.currentCommandName.indexOf(aliases[i]) === 0) {
396
+ return aliases[i];
397
+ }
398
+ }
399
+ // shouldn't happen because the command is called either by its name or alias
400
+ return '';
401
+ }
402
+ getTelemetryProperties(args) {
403
+ this.telemetry.forEach(t => t(args));
404
+ return this.telemetryProperties;
405
+ }
317
406
  }
318
407
  exports.default = Command;
408
+ _Command_instances = new WeakSet(), _Command_initTelemetry = function _Command_initTelemetry() {
409
+ this.telemetry.push((args) => {
410
+ Object.assign(this.telemetryProperties, {
411
+ debug: this.debug.toString(),
412
+ verbose: this.verbose.toString(),
413
+ output: args.options.output,
414
+ query: typeof args.options.query !== 'undefined'
415
+ });
416
+ });
417
+ }, _Command_initOptions = function _Command_initOptions() {
418
+ this.options.unshift({ option: '--query [query]' }, {
419
+ option: '-o, --output [output]',
420
+ autocomplete: ['csv', 'json', 'text']
421
+ }, { option: '--verbose' }, { option: '--debug' });
422
+ }, _Command_initValidators = function _Command_initValidators() {
423
+ this.validators.push((args, command) => this.validateUnknownOptions(args, command), (args, command) => this.validateRequiredOptions(args, command), (args, command) => this.validateOptionSets(args, command));
424
+ };
319
425
  //# sourceMappingURL=Command.js.map
package/dist/api.js CHANGED
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.executeCommand = void 0;
4
- const cli_1 = require("./cli");
4
+ const Cli_1 = require("./cli/Cli");
5
5
  const path = require("path");
6
6
  function executeCommand(commandName, options, listener) {
7
- const cli = cli_1.Cli.getInstance();
7
+ const cli = Cli_1.Cli.getInstance();
8
8
  cli.commandsFolder = path.join(__dirname, 'm365');
9
9
  cli.commands = [];
10
10
  cli.loadCommandFromArgs(commandName.split(' '));
11
11
  if (cli.commands.length !== 1) {
12
12
  return Promise.reject(`Command not found: ${commandName}`);
13
13
  }
14
- return cli_1.Cli.executeCommandWithOutput(cli.commands[0].command, { options: options !== null && options !== void 0 ? options : {} }, listener);
14
+ return Cli_1.Cli.executeCommandWithOutput(cli.commands[0].command, { options: options !== null && options !== void 0 ? options : {} }, listener);
15
15
  }
16
16
  exports.executeCommand = executeCommand;
17
17
  //# sourceMappingURL=api.js.map
@@ -10,6 +10,7 @@ const appInsights = require("applicationinsights");
10
10
  const crypto = require("crypto");
11
11
  const fs = require("fs");
12
12
  const path = require("path");
13
+ const pid_1 = require("./utils/pid");
13
14
  const config = appInsights.setup('6b908c80-d09f-4cf6-8274-e54349a0149a');
14
15
  config.setInternalLogging(false, false);
15
16
  // append -dev to the version number when ran locally
@@ -20,6 +21,7 @@ const env = process.env.CLIMICROSOFT365_ENV !== undefined ? process.env.CLIMICRO
20
21
  appInsights.defaultClient.commonProperties = {
21
22
  version: version,
22
23
  node: process.version,
24
+ shell: pid_1.pid.getProcessName(process.ppid) || '',
23
25
  env: env,
24
26
  ci: Boolean(process.env.CI).toString()
25
27
  };