@pnp/cli-microsoft365 7.0.0-beta.f1037e1 → 7.0.0

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 (422) hide show
  1. package/.eslintrc.cjs +1 -3
  2. package/README.md +4 -4
  3. package/dist/Auth.js +12 -2
  4. package/dist/Command.js +3 -3
  5. package/dist/GlobalOptions.js +1 -7
  6. package/dist/cli/Cli.js +24 -7
  7. package/dist/m365/aad/commands/app/app-add.js +8 -8
  8. package/dist/m365/aad/commands/app/app-get.js +4 -1
  9. package/dist/m365/aad/commands/app/app-remove.js +3 -1
  10. package/dist/m365/aad/commands/app/app-role-add.js +9 -6
  11. package/dist/m365/aad/commands/app/app-role-list.js +4 -1
  12. package/dist/m365/aad/commands/app/app-role-remove.js +5 -2
  13. package/dist/m365/aad/commands/app/app-set.js +13 -10
  14. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +11 -6
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +4 -4
  16. package/dist/m365/aad/commands/group/group-get.js +4 -4
  17. package/dist/m365/aad/commands/group/group-list.js +1 -23
  18. package/dist/m365/aad/commands/group/group-remove.js +98 -0
  19. package/dist/m365/aad/commands/{o365group/o365group-add.js → m365group/m365group-add.js} +38 -29
  20. package/dist/m365/aad/commands/{o365group/o365group-conversation-list.js → m365group/m365group-conversation-list.js} +15 -10
  21. package/dist/m365/aad/commands/{o365group/o365group-conversation-post-list.js → m365group/m365group-conversation-post-list.js} +18 -14
  22. package/dist/m365/aad/commands/{o365group/o365group-get.js → m365group/m365group-get.js} +14 -10
  23. package/dist/m365/aad/commands/{o365group/o365group-list.js → m365group/m365group-list.js} +13 -28
  24. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-clear.js → m365group/m365group-recyclebinitem-clear.js} +15 -15
  25. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-list.js → m365group/m365group-recyclebinitem-list.js} +10 -10
  26. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-remove.js → m365group/m365group-recyclebinitem-remove.js} +17 -15
  27. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-restore.js → m365group/m365group-recyclebinitem-restore.js} +18 -15
  28. package/dist/m365/aad/commands/{o365group/o365group-remove.js → m365group/m365group-remove.js} +17 -12
  29. package/dist/m365/aad/commands/{o365group/o365group-renew.js → m365group/m365group-renew.js} +15 -10
  30. package/dist/m365/aad/commands/{o365group/o365group-report-activitycounts.js → m365group/m365group-report-activitycounts.js} +4 -4
  31. package/dist/m365/aad/commands/{o365group/o365group-report-activitydetail.js → m365group/m365group-report-activitydetail.js} +4 -4
  32. package/dist/m365/aad/commands/{o365group/o365group-report-activityfilecounts.js → m365group/m365group-report-activityfilecounts.js} +4 -4
  33. package/dist/m365/aad/commands/{o365group/o365group-report-activitygroupcounts.js → m365group/m365group-report-activitygroupcounts.js} +4 -4
  34. package/dist/m365/aad/commands/{o365group/o365group-report-activitystorage.js → m365group/m365group-report-activitystorage.js} +4 -4
  35. package/dist/m365/aad/commands/{o365group/o365group-set.js → m365group/m365group-set.js} +22 -17
  36. package/dist/m365/aad/commands/{o365group/o365group-teamify.js → m365group/m365group-teamify.js} +28 -20
  37. package/dist/m365/aad/commands/{o365group/o365group-user-add.js → m365group/m365group-user-add.js} +19 -14
  38. package/dist/m365/aad/commands/{o365group/o365group-user-list.js → m365group/m365group-user-list.js} +17 -12
  39. package/dist/m365/aad/commands/{o365group/o365group-user-remove.js → m365group/m365group-user-remove.js} +19 -14
  40. package/dist/m365/aad/commands/{o365group/o365group-user-set.js → m365group/m365group-user-set.js} +20 -15
  41. package/dist/m365/aad/commands/policy/policy-list.js +5 -5
  42. package/dist/m365/aad/commands/sp/sp-add.js +4 -1
  43. package/dist/m365/aad/commands/sp/sp-get.js +4 -1
  44. package/dist/m365/aad/commands/user/user-get.js +7 -2
  45. package/dist/m365/aad/commands.js +23 -22
  46. package/dist/m365/booking/commands/business/business-get.js +4 -1
  47. package/dist/m365/cli/commands/cli-issue.js +5 -5
  48. package/dist/m365/cli/commands/config/config-get.js +5 -5
  49. package/dist/m365/cli/commands/config/config-list.js +16 -0
  50. package/dist/m365/cli/commands/config/config-reset.js +5 -5
  51. package/dist/m365/cli/commands/config/config-set.js +5 -5
  52. package/dist/m365/cli/commands.js +1 -0
  53. package/dist/m365/commands/login.js +7 -7
  54. package/dist/m365/commands/request.js +1 -1
  55. package/dist/m365/flow/commands/flow-export.js +13 -13
  56. package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
  57. package/dist/m365/graph/commands/subscription/subscription-add.js +5 -5
  58. package/dist/m365/outlook/commands/message/message-list.js +4 -2
  59. package/dist/m365/outlook/commands/message/message-move.js +4 -2
  60. package/dist/m365/pa/commands/app/app-export.js +7 -7
  61. package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
  62. package/dist/m365/pa/commands/app/app-permission-ensure.js +162 -0
  63. package/dist/m365/pa/commands/app/app-permission-list.js +2 -2
  64. package/dist/m365/pa/commands/app/app-permission-remove.js +153 -0
  65. package/dist/m365/pa/commands/connector/connector-export.js +5 -5
  66. package/dist/m365/pa/commands.js +3 -4
  67. package/dist/m365/planner/commands/bucket/bucket-add.js +6 -3
  68. package/dist/m365/planner/commands/bucket/bucket-get.js +11 -4
  69. package/dist/m365/planner/commands/bucket/bucket-list.js +6 -3
  70. package/dist/m365/planner/commands/bucket/bucket-remove.js +9 -4
  71. package/dist/m365/planner/commands/bucket/bucket-set.js +10 -4
  72. package/dist/m365/planner/commands/plan/plan-add.js +4 -1
  73. package/dist/m365/planner/commands/plan/plan-get.js +5 -3
  74. package/dist/m365/planner/commands/plan/plan-list.js +8 -6
  75. package/dist/m365/planner/commands/plan/plan-remove.js +4 -1
  76. package/dist/m365/planner/commands/plan/plan-set.js +6 -3
  77. package/dist/m365/planner/commands/roster/roster-get.js +4 -1
  78. package/dist/m365/planner/commands/roster/roster-member-add.js +4 -1
  79. package/dist/m365/planner/commands/roster/roster-member-get.js +4 -1
  80. package/dist/m365/planner/commands/roster/roster-member-list.js +4 -1
  81. package/dist/m365/planner/commands/roster/roster-member-remove.js +4 -1
  82. package/dist/m365/planner/commands/roster/roster-plan-list.js +4 -1
  83. package/dist/m365/planner/commands/roster/roster-remove.js +4 -1
  84. package/dist/m365/planner/commands/task/task-add.js +21 -12
  85. package/dist/m365/planner/commands/task/task-checklistitem-add.js +4 -1
  86. package/dist/m365/planner/commands/task/task-checklistitem-list.js +4 -1
  87. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +4 -1
  88. package/dist/m365/planner/commands/task/task-get.js +46 -28
  89. package/dist/m365/planner/commands/task/task-list.js +34 -19
  90. package/dist/m365/planner/commands/task/task-reference-add.js +4 -1
  91. package/dist/m365/planner/commands/task/task-reference-list.js +4 -1
  92. package/dist/m365/planner/commands/task/task-reference-remove.js +4 -1
  93. package/dist/m365/planner/commands/task/task-remove.js +49 -38
  94. package/dist/m365/planner/commands/task/task-set.js +38 -23
  95. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-get.js +4 -1
  96. package/dist/m365/pp/commands/card/card-get.js +3 -5
  97. package/dist/m365/pp/commands/chatbot/chatbot-get.js +3 -1
  98. package/dist/m365/pp/commands/chatbot/chatbot-list.js +2 -2
  99. package/dist/m365/pp/commands/managementapp/managementapp-add.js +4 -1
  100. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
  101. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +3 -1
  102. package/dist/m365/spfx/commands/package/package-generate.js +15 -15
  103. package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
  104. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0.js} +2 -2
  105. package/dist/m365/spfx/commands/project/project-doctor.js +9 -9
  106. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -2
  107. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
  108. package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
  109. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +1 -1
  110. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js +13 -0
  111. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
  112. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0.js} +35 -27
  113. package/dist/m365/spfx/commands/project/project-upgrade.js +26 -28
  114. package/dist/m365/spfx/commands/spfx-doctor.js +76 -106
  115. package/dist/m365/spfx/commands.js +1 -0
  116. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +27 -26
  117. package/dist/m365/spo/commands/app/app-add.js +9 -9
  118. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +5 -5
  119. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +5 -3
  120. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
  121. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +2 -2
  122. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +3 -2
  123. package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
  124. package/dist/m365/spo/commands/commandset/commandset-get.js +12 -10
  125. package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
  126. package/dist/m365/spo/commands/commandset/commandset-remove.js +7 -6
  127. package/dist/m365/spo/commands/commandset/commandset-set.js +14 -12
  128. package/dist/m365/spo/commands/customaction/customaction-get.js +5 -2
  129. package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -1
  130. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +3 -1
  131. package/dist/m365/spo/commands/file/file-add.js +13 -13
  132. package/dist/m365/spo/commands/file/file-checkin.js +1 -1
  133. package/dist/m365/spo/commands/file/file-checkout.js +1 -1
  134. package/dist/m365/spo/commands/file/file-copy.js +36 -4
  135. package/dist/m365/spo/commands/file/file-get.js +11 -8
  136. package/dist/m365/spo/commands/file/file-list.js +4 -4
  137. package/dist/m365/spo/commands/file/file-move.js +74 -98
  138. package/dist/m365/spo/commands/file/file-remove.js +8 -8
  139. package/dist/m365/spo/commands/file/file-rename.js +2 -2
  140. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
  141. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
  142. package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
  143. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
  144. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
  145. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
  146. package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
  147. package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
  148. package/dist/m365/spo/commands/file/file-version-clear.js +3 -3
  149. package/dist/m365/spo/commands/file/file-version-get.js +3 -3
  150. package/dist/m365/spo/commands/file/file-version-list.js +3 -3
  151. package/dist/m365/spo/commands/file/file-version-remove.js +3 -3
  152. package/dist/m365/spo/commands/file/file-version-restore.js +3 -3
  153. package/dist/m365/spo/commands/folder/folder-add.js +2 -4
  154. package/dist/m365/spo/commands/folder/folder-copy.js +89 -45
  155. package/dist/m365/spo/commands/folder/folder-get.js +1 -1
  156. package/dist/m365/spo/commands/folder/folder-list.js +2 -2
  157. package/dist/m365/spo/commands/folder/folder-move.js +89 -47
  158. package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
  159. package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
  160. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
  161. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
  162. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
  163. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
  164. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
  165. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
  166. package/dist/m365/spo/commands/group/group-list.js +0 -1
  167. package/dist/m365/spo/commands/group/group-member-add.js +24 -24
  168. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +7 -4
  169. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +4 -1
  170. package/dist/m365/spo/commands/hubsite/hubsite-get.js +3 -1
  171. package/dist/m365/spo/commands/list/list-add.js +4 -4
  172. package/dist/m365/spo/commands/list/list-retentionlabel-ensure.js +2 -24
  173. package/dist/m365/spo/commands/list/list-set.js +4 -4
  174. package/dist/m365/spo/commands/listitem/listitem-add.js +1 -0
  175. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +127 -0
  176. package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +97 -0
  177. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +121 -0
  178. package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +115 -0
  179. package/dist/m365/spo/commands/listitem/listitem-set.js +3 -2
  180. package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
  181. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +34 -5
  182. package/dist/m365/spo/commands/page/clientsidepages.js +19 -81
  183. package/dist/m365/spo/commands/page/page-get.js +1 -0
  184. package/dist/m365/spo/commands/page/page-list.js +4 -3
  185. package/dist/m365/spo/commands/page/page-section-add.js +56 -21
  186. package/dist/m365/spo/commands/page/page-set.js +13 -2
  187. package/dist/m365/spo/commands/propertybag/propertybag-base.js +63 -59
  188. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +28 -31
  189. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +30 -32
  190. package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
  191. package/dist/m365/spo/commands/site/site-add.js +114 -161
  192. package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
  193. package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
  194. package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
  195. package/dist/m365/spo/commands/site/site-commsite-enable.js +34 -5
  196. package/dist/m365/spo/commands/site/site-ensure.js +14 -67
  197. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +22 -22
  198. package/dist/m365/spo/commands/site/site-list.js +25 -43
  199. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +6 -6
  200. package/dist/m365/spo/commands/site/site-remove.js +166 -210
  201. package/dist/m365/spo/commands/site/site-set.js +178 -199
  202. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +1 -1
  203. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +12 -7
  204. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +3 -2
  205. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +2 -1
  206. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +3 -2
  207. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
  208. package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +8 -3
  209. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +3 -2
  210. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +3 -1
  211. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
  212. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
  213. package/dist/m365/spo/commands/term/term-get.js +6 -6
  214. package/dist/m365/spo/commands/theme/theme-list.js +1 -9
  215. package/dist/m365/spo/commands/theme/theme-remove.js +24 -24
  216. package/dist/m365/spo/commands/theme/theme-set.js +0 -1
  217. package/dist/m365/spo/commands/user/user-get.js +10 -10
  218. package/dist/m365/spo/commands/user/user-remove.js +27 -27
  219. package/dist/m365/spo/commands/web/web-reindex.js +35 -42
  220. package/dist/m365/spo/commands/web/web-remove.js +21 -21
  221. package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -31
  222. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +33 -44
  223. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +18 -18
  224. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +19 -19
  225. package/dist/m365/spo/commands/web/web-set.js +5 -5
  226. package/dist/m365/spo/commands.js +4 -0
  227. package/dist/m365/teams/commands/app/app-list.js +5 -5
  228. package/dist/m365/teams/commands/app/app-remove.js +49 -15
  229. package/dist/m365/teams/commands/channel/channel-add.js +5 -1
  230. package/dist/m365/teams/commands/channel/channel-member-add.js +12 -10
  231. package/dist/m365/teams/commands/channel/channel-member-remove.js +3 -1
  232. package/dist/m365/teams/commands/channel/channel-member-set.js +4 -1
  233. package/dist/m365/teams/commands/chat/chat-get.js +7 -10
  234. package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
  235. package/dist/m365/teams/commands/chat/chat-message-send.js +8 -10
  236. package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
  237. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
  238. package/dist/m365/teams/commands/meeting/meeting-list.js +101 -51
  239. package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
  240. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
  241. package/dist/m365/teams/commands/team/team-clone.js +5 -10
  242. package/dist/m365/teams/commands/team/team-list.js +94 -30
  243. package/dist/m365/teams/commands/team/team-set.js +3 -3
  244. package/dist/m365/tenant/commands/info/info-get.js +83 -0
  245. package/dist/m365/tenant/commands.js +1 -0
  246. package/dist/m365/todo/commands/task/task-add.js +6 -6
  247. package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
  248. package/dist/m365/yammer/commands/message/message-list.js +67 -86
  249. package/dist/m365/yammer/commands/message/message-remove.js +18 -18
  250. package/dist/m365/yammer/commands/yammer-search.js +58 -74
  251. package/dist/utils/aadGroup.js +39 -3
  252. package/dist/utils/formatting.js +7 -0
  253. package/dist/utils/fsUtil.js +5 -0
  254. package/dist/utils/planner.js +4 -3
  255. package/dist/utils/powerPlatform.js +1 -1
  256. package/dist/utils/spo.js +595 -54
  257. package/dist/utils/validation.js +0 -3
  258. package/docs/docs/_clisettings.mdx +2 -2
  259. package/docs/docs/cmd/_global.mdx +1 -1
  260. package/docs/docs/cmd/aad/app/app-set.mdx +15 -15
  261. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.mdx +9 -9
  262. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.mdx +10 -10
  263. package/docs/docs/cmd/aad/group/group-get.mdx +5 -5
  264. package/docs/docs/cmd/aad/group/group-list.mdx +0 -11
  265. package/docs/docs/cmd/aad/group/group-remove.mdx +44 -0
  266. package/docs/docs/cmd/aad/{o365group/o365group-add.mdx → m365group/m365group-add.mdx} +25 -15
  267. package/docs/docs/cmd/aad/{o365group/o365group-conversation-list.mdx → m365group/m365group-conversation-list.mdx} +4 -4
  268. package/docs/docs/cmd/aad/{o365group/o365group-conversation-post-list.mdx → m365group/m365group-conversation-post-list.mdx} +8 -8
  269. package/docs/docs/cmd/aad/{o365group/o365group-get.mdx → m365group/m365group-get.mdx} +6 -6
  270. package/docs/docs/cmd/aad/{o365group/o365group-list.mdx → m365group/m365group-list.mdx} +12 -29
  271. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-clear.mdx → m365group/m365group-recyclebinitem-clear.mdx} +5 -5
  272. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-list.mdx → m365group/m365group-recyclebinitem-list.mdx} +8 -8
  273. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-remove.mdx → m365group/m365group-recyclebinitem-remove.mdx} +6 -6
  274. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-restore.mdx → m365group/m365group-recyclebinitem-restore.mdx} +6 -6
  275. package/docs/docs/cmd/aad/{o365group/o365group-remove.mdx → m365group/m365group-remove.mdx} +6 -6
  276. package/docs/docs/cmd/aad/{o365group/o365group-renew.mdx → m365group/m365group-renew.mdx} +4 -4
  277. package/docs/docs/cmd/aad/{o365group/o365group-report-activitycounts.mdx → m365group/m365group-report-activitycounts.mdx} +6 -6
  278. package/docs/docs/cmd/aad/{o365group/o365group-report-activitydetail.mdx → m365group/m365group-report-activitydetail.mdx} +7 -7
  279. package/docs/docs/cmd/aad/{o365group/o365group-report-activityfilecounts.mdx → m365group/m365group-report-activityfilecounts.mdx} +6 -6
  280. package/docs/docs/cmd/aad/{o365group/o365group-report-activitygroupcounts.mdx → m365group/m365group-report-activitygroupcounts.mdx} +6 -6
  281. package/docs/docs/cmd/aad/{o365group/o365group-report-activitystorage.mdx → m365group/m365group-report-activitystorage.mdx} +6 -6
  282. package/docs/docs/cmd/aad/{o365group/o365group-set.mdx → m365group/m365group-set.mdx} +8 -8
  283. package/docs/docs/cmd/aad/{o365group/o365group-teamify.mdx → m365group/m365group-teamify.mdx} +5 -5
  284. package/docs/docs/cmd/aad/{o365group/o365group-user-add.mdx → m365group/m365group-user-add.mdx} +5 -5
  285. package/docs/docs/cmd/aad/{o365group/o365group-user-list.mdx → m365group/m365group-user-list.mdx} +7 -7
  286. package/docs/docs/cmd/aad/{o365group/o365group-user-remove.mdx → m365group/m365group-user-remove.mdx} +5 -5
  287. package/docs/docs/cmd/aad/{o365group/o365group-user-set.mdx → m365group/m365group-user-set.mdx} +5 -5
  288. package/docs/docs/cmd/aad/policy/policy-list.mdx +5 -5
  289. package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
  290. package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
  291. package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
  292. package/docs/docs/cmd/flow/flow-export.mdx +11 -11
  293. package/docs/docs/cmd/graph/subscription/subscription-add.mdx +10 -10
  294. package/docs/docs/cmd/login.mdx +6 -0
  295. package/docs/docs/cmd/pa/app/app-export.mdx +5 -5
  296. package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
  297. package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
  298. package/docs/docs/cmd/pa/connector/connector-export.mdx +3 -3
  299. package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
  300. package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
  301. package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
  302. package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
  303. package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
  304. package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
  305. package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +4 -4
  306. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
  307. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
  308. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
  309. package/docs/docs/cmd/pp/solution/solution-publisher-get.mdx +2 -2
  310. package/docs/docs/cmd/pp/solution/solution-publisher-remove.mdx +2 -2
  311. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
  312. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  313. package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
  314. package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
  315. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
  316. package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
  317. package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
  318. package/docs/docs/cmd/spo/file/file-get.mdx +3 -3
  319. package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
  320. package/docs/docs/cmd/spo/file/file-move.mdx +36 -18
  321. package/docs/docs/cmd/spo/file/file-remove.mdx +10 -10
  322. package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
  323. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
  324. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
  325. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  326. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  327. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
  328. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
  329. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
  330. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
  331. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
  332. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
  333. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
  334. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
  335. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
  336. package/docs/docs/cmd/spo/file/file-version-clear.mdx +3 -3
  337. package/docs/docs/cmd/spo/file/file-version-get.mdx +3 -3
  338. package/docs/docs/cmd/spo/file/file-version-list.mdx +3 -3
  339. package/docs/docs/cmd/spo/file/file-version-remove.mdx +3 -3
  340. package/docs/docs/cmd/spo/file/file-version-restore.mdx +3 -3
  341. package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
  342. package/docs/docs/cmd/spo/folder/folder-copy.mdx +39 -12
  343. package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
  344. package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
  345. package/docs/docs/cmd/spo/folder/folder-move.mdx +40 -13
  346. package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
  347. package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
  348. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  349. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  350. package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
  351. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
  352. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
  353. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
  354. package/docs/docs/cmd/spo/group/group-member-add.mdx +27 -27
  355. package/docs/docs/cmd/spo/list/list-contenttype-remove.mdx +1 -1
  356. package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.mdx +2 -11
  357. package/docs/docs/cmd/spo/listitem/listitem-add.mdx +2 -5
  358. package/docs/docs/cmd/spo/listitem/listitem-attachment-add.mdx +110 -0
  359. package/docs/docs/cmd/spo/listitem/listitem-attachment-get.mdx +104 -0
  360. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
  361. package/docs/docs/cmd/spo/listitem/listitem-attachment-remove.mdx +58 -0
  362. package/docs/docs/cmd/spo/listitem/listitem-attachment-set.mdx +58 -0
  363. package/docs/docs/cmd/spo/listitem/listitem-set.mdx +2 -5
  364. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
  365. package/docs/docs/cmd/spo/page/page-get.mdx +0 -1
  366. package/docs/docs/cmd/spo/page/page-list.mdx +0 -1
  367. package/docs/docs/cmd/spo/page/page-section-add.mdx +25 -1
  368. package/docs/docs/cmd/spo/page/page-set.mdx +23 -0
  369. package/docs/docs/cmd/spo/site/site-add.mdx +1 -1
  370. package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -2
  371. package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
  372. package/docs/docs/cmd/spo/site/site-list.mdx +3 -78
  373. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
  374. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.mdx +2 -2
  375. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +3 -5
  376. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
  377. package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
  378. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +2 -4
  379. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
  380. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
  381. package/docs/docs/cmd/spo/user/user-get.mdx +8 -8
  382. package/docs/docs/cmd/teams/app/app-remove.mdx +9 -6
  383. package/docs/docs/cmd/teams/channel/channel-member-add.mdx +4 -4
  384. package/docs/docs/cmd/teams/meeting/meeting-list.mdx +135 -92
  385. package/docs/docs/cmd/teams/team/team-add.mdx +1 -1
  386. package/docs/docs/cmd/teams/team/team-clone.mdx +3 -3
  387. package/docs/docs/cmd/teams/team/team-list.mdx +47 -22
  388. package/docs/docs/cmd/tenant/info/info-get.mdx +101 -0
  389. package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
  390. package/npm-shrinkwrap.json +310 -1433
  391. package/package.json +23 -28
  392. package/dist/m365/pa/cds-project-mutator.js +0 -91
  393. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/generated/ManifestTypes.d.ts +0 -11
  394. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_ControlManifest.Input.xml +0 -31
  395. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_index.ts +0 -51
  396. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/generated/ManifestTypes.d.ts +0 -12
  397. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_ControlManifest.Input.xml +0 -37
  398. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_index.ts +0 -48
  399. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/index.ts +0 -0
  400. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_ControlManifest.Input.xml +0 -31
  401. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_index.tsx +0 -58
  402. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_ControlManifest.Input.xml +0 -37
  403. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_index.tsx +0 -55
  404. package/dist/m365/pa/commands/pcf/pcf-init/assets/package.json +0 -19
  405. package/dist/m365/pa/commands/pcf/pcf-init/assets/pcfconfig.json +0 -3
  406. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_.gitignore +0 -14
  407. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_pcfprojecttype.pcfproj +0 -45
  408. package/dist/m365/pa/commands/pcf/pcf-init/pcf-init-variables.js +0 -2
  409. package/dist/m365/pa/commands/pcf/pcf-init.js +0 -120
  410. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Customizations.xml +0 -18
  411. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Relationships.xml +0 -2
  412. package/dist/m365/pa/commands/solution/solution-init/assets/Other/template_Solution.xml +0 -94
  413. package/dist/m365/pa/commands/solution/solution-init/assets/template_.gitignore +0 -2
  414. package/dist/m365/pa/commands/solution/solution-init/assets/template_solutionprojecttype.cdsproj +0 -44
  415. package/dist/m365/pa/commands/solution/solution-init/solution-init-variables.js +0 -2
  416. package/dist/m365/pa/commands/solution/solution-init.js +0 -126
  417. package/dist/m365/pa/commands/solution/solution-reference-add.js +0 -88
  418. package/dist/m365/pa/template-instantiator.js +0 -57
  419. package/docs/docs/cmd/pa/pcf/pcf-init.mdx +0 -56
  420. package/docs/docs/cmd/pa/solution/solution-init.mdx +0 -46
  421. package/docs/docs/cmd/pa/solution/solution-reference-add.mdx +0 -42
  422. /package/dist/m365/aad/commands/{o365group → m365group}/GroupExtended.js +0 -0
@@ -10,6 +10,7 @@ import { powerPlatform } from '../../../../utils/powerPlatform.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import PowerPlatformCommand from '../../../base/PowerPlatformCommand.js';
12
12
  import commands from '../../commands.js';
13
+ import { formatting } from '../../../../utils/formatting.js';
13
14
  class PpCardGetCommand extends PowerPlatformCommand {
14
15
  get name() {
15
16
  return commands.CARD_GET;
@@ -59,11 +60,8 @@ class PpCardGetCommand extends PowerPlatformCommand {
59
60
  throw `The specified card '${options.name}' does not exist.`;
60
61
  }
61
62
  if (result.value.length > 1) {
62
- const resultAsKeyValuePair = {};
63
- result.value.forEach((obj) => {
64
- resultAsKeyValuePair[obj.cardid] = obj;
65
- });
66
- return Cli.handleMultipleResultsFound(`Multiple cards with name '${options.name}' found. Choose the correct ID:`, `Multiple cards with name '${options.name}' found.`, resultAsKeyValuePair);
63
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('cardid', result.value);
64
+ return Cli.handleMultipleResultsFound(`Multiple cards with name '${options.name}' found`, resultAsKeyValuePair);
67
65
  }
68
66
  return result.value[0];
69
67
  }
@@ -10,6 +10,7 @@ import { powerPlatform } from '../../../../utils/powerPlatform.js';
10
10
  import { validation } from '../../../../utils/validation.js';
11
11
  import PowerPlatformCommand from '../../../base/PowerPlatformCommand.js';
12
12
  import commands from '../../commands.js';
13
+ import { Cli } from '../../../../cli/Cli.js';
13
14
  class PpChatbotGetCommand extends PowerPlatformCommand {
14
15
  get name() {
15
16
  return commands.CHATBOT_GET;
@@ -56,7 +57,8 @@ class PpChatbotGetCommand extends PowerPlatformCommand {
56
57
  requestOptions.url = `${dynamicsApiUrl}/api/data/v9.1/bots?$filter=name eq '${formatting.encodeQueryParameter(options.name)}'`;
57
58
  const result = await request.get(requestOptions);
58
59
  if (result.value.length > 1) {
59
- throw `Multiple chatbots with name '${options.name}' found: ${result.value.map(x => x.botid).join(',')}`;
60
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('botid', result.value);
61
+ return await Cli.handleMultipleResultsFound(`Multiple chatbots with name '${options.name}' found.`, resultAsKeyValuePair);
60
62
  }
61
63
  if (result.value.length === 0) {
62
64
  throw `The specified chatbot '${options.name}' does not exist.`;
@@ -16,7 +16,7 @@ class PpChatbotListCommand extends PowerPlatformCommand {
16
16
  return 'Lists Microsoft Power Platform chatbots in the specified Power Platform environment';
17
17
  }
18
18
  defaultProperties() {
19
- return ['displayName', 'botid', 'publishedOn', 'createdOn', 'botModifiedOn'];
19
+ return ['name', 'botid', 'publishedOn', 'createdOn', 'botModifiedOn'];
20
20
  }
21
21
  constructor() {
22
22
  super();
@@ -55,7 +55,7 @@ class PpChatbotListCommand extends PowerPlatformCommand {
55
55
  <attribute name='timezoneruleversionnumber' alias='timezoneRuleVersionNumber' />,
56
56
  <attribute name='utcconversiontimezonecode' alias='utcConversionTimezoneCode' />,
57
57
  <attribute name='versionnumber' alias='versionNumber' />,
58
- <attribute name='name' alias='displayName' />,
58
+ <attribute name='name' alias='name' />,
59
59
  <attribute name='botid' alias='cdsBotId' />,
60
60
  <attribute name='ownerid' alias='ownerId' />,
61
61
  <attribute name='synchronizationstatus' alias='synchronizationStatus' />
@@ -9,6 +9,7 @@ import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
10
10
  import PowerPlatformCommand from '../../../base/PowerPlatformCommand.js';
11
11
  import commands from '../../commands.js';
12
+ import { Cli } from '../../../../cli/Cli.js';
12
13
  class PpManagementAppAddCommand extends PowerPlatformCommand {
13
14
  get name() {
14
15
  return commands.MANAGEMENTAPP_ADD;
@@ -65,7 +66,9 @@ class PpManagementAppAddCommand extends PowerPlatformCommand {
65
66
  if (aadApps.value.length === 1 && aadApps.value[0].appId) {
66
67
  return aadApps.value[0].appId;
67
68
  }
68
- throw `Multiple Azure AD application registration with name ${name} found. Please disambiguate (app IDs): ${aadApps.value.map(a => a.appId).join(', ')}`;
69
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('appId', aadApps.value);
70
+ const result = await Cli.handleMultipleResultsFound(`Multiple Azure AD application registration with name '${name}' found.`, resultAsKeyValuePair);
71
+ return result.appId;
69
72
  }
70
73
  }
71
74
  _PpManagementAppAddCommand_instances = new WeakSet(), _PpManagementAppAddCommand_initTelemetry = function _PpManagementAppAddCommand_initTelemetry() {
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _PurviewRetentionLabelAddCommand_instances, _PurviewRetentionLabelAddCommand_initTelemetry, _PurviewRetentionLabelAddCommand_initOptions, _PurviewRetentionLabelAddCommand_initValidators, _PurviewRetentionLabelAddCommand_initOptionSets;
6
+ var _PurviewRetentionLabelAddCommand_instances, _a, _PurviewRetentionLabelAddCommand_initTelemetry, _PurviewRetentionLabelAddCommand_initOptions, _PurviewRetentionLabelAddCommand_initValidators, _PurviewRetentionLabelAddCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
8
  import { odata } from '../../../../utils/odata.js';
9
9
  import GraphCommand from '../../../base/GraphCommand.js';
@@ -90,7 +90,7 @@ class PurviewRetentionLabelAddCommand extends GraphCommand {
90
90
  return filteredEventTypes[0].id;
91
91
  }
92
92
  }
93
- _PurviewRetentionLabelAddCommand_instances = new WeakSet(), _PurviewRetentionLabelAddCommand_initTelemetry = function _PurviewRetentionLabelAddCommand_initTelemetry() {
93
+ _a = PurviewRetentionLabelAddCommand, _PurviewRetentionLabelAddCommand_instances = new WeakSet(), _PurviewRetentionLabelAddCommand_initTelemetry = function _PurviewRetentionLabelAddCommand_initTelemetry() {
94
94
  this.telemetry.push((args) => {
95
95
  Object.assign(this.telemetryProperties, {
96
96
  retentionTrigger: typeof args.options.retentionTrigger !== 'undefined',
@@ -107,18 +107,18 @@ _PurviewRetentionLabelAddCommand_instances = new WeakSet(), _PurviewRetentionLab
107
107
  option: '-n, --displayName <displayName>'
108
108
  }, {
109
109
  option: '--behaviorDuringRetentionPeriod <behaviorDuringRetentionPeriod>',
110
- autocomplete: PurviewRetentionLabelAddCommand.behaviorDuringRetentionPeriods
110
+ autocomplete: _a.behaviorDuringRetentionPeriods
111
111
  }, {
112
112
  option: '--actionAfterRetentionPeriod <actionAfterRetentionPeriod>',
113
- autocomplete: PurviewRetentionLabelAddCommand.actionAfterRetentionPeriods
113
+ autocomplete: _a.actionAfterRetentionPeriods
114
114
  }, {
115
115
  option: '--retentionDuration <retentionDuration>'
116
116
  }, {
117
117
  option: '-t, --retentionTrigger [retentionTrigger]',
118
- autocomplete: PurviewRetentionLabelAddCommand.retentionTriggers
118
+ autocomplete: _a.retentionTriggers
119
119
  }, {
120
120
  option: '--defaultRecordBehavior [defaultRecordBehavior]',
121
- autocomplete: PurviewRetentionLabelAddCommand.defaultRecordBehavior
121
+ autocomplete: _a.defaultRecordBehavior
122
122
  }, {
123
123
  option: '--descriptionForUsers [descriptionForUsers]'
124
124
  }, {
@@ -135,19 +135,19 @@ _PurviewRetentionLabelAddCommand_instances = new WeakSet(), _PurviewRetentionLab
135
135
  if (isNaN(args.options.retentionDuration)) {
136
136
  return `Specified retentionDuration ${args.options.retentionDuration} is not a number`;
137
137
  }
138
- if (PurviewRetentionLabelAddCommand.behaviorDuringRetentionPeriods.indexOf(args.options.behaviorDuringRetentionPeriod) === -1) {
139
- return `${args.options.behaviorDuringRetentionPeriod} is not a valid behavior of a document with the label. Allowed values are ${PurviewRetentionLabelAddCommand.behaviorDuringRetentionPeriods.join(', ')}`;
138
+ if (_a.behaviorDuringRetentionPeriods.indexOf(args.options.behaviorDuringRetentionPeriod) === -1) {
139
+ return `${args.options.behaviorDuringRetentionPeriod} is not a valid behavior of a document with the label. Allowed values are ${_a.behaviorDuringRetentionPeriods.join(', ')}`;
140
140
  }
141
- if (PurviewRetentionLabelAddCommand.actionAfterRetentionPeriods.indexOf(args.options.actionAfterRetentionPeriod) === -1) {
142
- return `${args.options.actionAfterRetentionPeriod} is not a valid action to take on a document with the label. Allowed values are ${PurviewRetentionLabelAddCommand.actionAfterRetentionPeriods.join(', ')}`;
141
+ if (_a.actionAfterRetentionPeriods.indexOf(args.options.actionAfterRetentionPeriod) === -1) {
142
+ return `${args.options.actionAfterRetentionPeriod} is not a valid action to take on a document with the label. Allowed values are ${_a.actionAfterRetentionPeriods.join(', ')}`;
143
143
  }
144
144
  if (args.options.retentionTrigger &&
145
- PurviewRetentionLabelAddCommand.retentionTriggers.indexOf(args.options.retentionTrigger) === -1) {
146
- return `${args.options.retentionTrigger} is not a valid action retention duration calculation. Allowed values are ${PurviewRetentionLabelAddCommand.retentionTriggers.join(', ')}`;
145
+ _a.retentionTriggers.indexOf(args.options.retentionTrigger) === -1) {
146
+ return `${args.options.retentionTrigger} is not a valid action retention duration calculation. Allowed values are ${_a.retentionTriggers.join(', ')}`;
147
147
  }
148
148
  if (args.options.defaultRecordBehavior &&
149
- PurviewRetentionLabelAddCommand.defaultRecordBehavior.indexOf(args.options.defaultRecordBehavior) === -1) {
150
- return `${args.options.defaultRecordBehavior} is not a valid state of a record label. Allowed values are ${PurviewRetentionLabelAddCommand.defaultRecordBehavior.join(', ')}`;
149
+ _a.defaultRecordBehavior.indexOf(args.options.defaultRecordBehavior) === -1) {
150
+ return `${args.options.defaultRecordBehavior} is not a valid state of a record label. Allowed values are ${_a.defaultRecordBehavior.join(', ')}`;
151
151
  }
152
152
  return true;
153
153
  });
@@ -41,7 +41,9 @@ class SearchExternalConnectionRemoveCommand extends GraphCommand {
41
41
  if (res.value.length === 0) {
42
42
  throw `The specified connection does not exist in Microsoft Search`;
43
43
  }
44
- throw `Multiple external connections with name ${args.options.name} found. Please disambiguate (IDs): ${res.value.map(x => x.id).join(', ')}`;
44
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', res.value);
45
+ const result = await Cli.handleMultipleResultsFound(`Multiple external connections with name ${args.options.name} found.`, resultAsKeyValuePair);
46
+ return result.id;
45
47
  }
46
48
  async commandAction(logger, args) {
47
49
  if (args.options.force) {
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpfxPackageGenerateCommand_instances, _SpfxPackageGenerateCommand_initTelemetry, _SpfxPackageGenerateCommand_initOptions, _SpfxPackageGenerateCommand_initValidators;
6
+ var _SpfxPackageGenerateCommand_instances, _a, _SpfxPackageGenerateCommand_initTelemetry, _SpfxPackageGenerateCommand_initOptions, _SpfxPackageGenerateCommand_initValidators;
7
7
  import AdmZip from 'adm-zip';
8
8
  import fs from 'fs';
9
9
  import os from 'os';
@@ -37,7 +37,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
37
37
  supportedHosts.push('TeamsPersonalApp');
38
38
  }
39
39
  const tokens = {
40
- clientSideAssetsFeatureId: SpfxPackageGenerateCommand.generateNewId(),
40
+ clientSideAssetsFeatureId: _a.generateNewId(),
41
41
  developerName: args.options.developerName || 'Contoso',
42
42
  developerWebsiteUrl: args.options.developerWebsiteUrl || 'https://contoso.com/my-app',
43
43
  developerPrivacyUrl: args.options.developerPrivacyUrl || 'https://contoso.com/privacy',
@@ -46,18 +46,18 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
46
46
  exposePageContextGlobally: args.options.exposePageContextGlobally ? '!0' : '!1',
47
47
  exposeTeamsContextGlobally: args.options.exposeTeamsContextGlobally ? '!0' : '!1',
48
48
  html: args.options.html.replace(/"/g, '\\"').replace(/\r\n/g, ' ').replace(/\n/g, ' '),
49
- packageName: SpfxPackageGenerateCommand.getSafePackageName(args.options.webPartTitle),
50
- productId: SpfxPackageGenerateCommand.generateNewId(),
49
+ packageName: _a.getSafePackageName(args.options.webPartTitle),
50
+ productId: _a.generateNewId(),
51
51
  skipFeatureDeployment: (args.options.allowTenantWideDeployment === true).toString(),
52
52
  supportedHosts: JSON.stringify(supportedHosts).replace(/"/g, '&quot;'),
53
- webPartId: SpfxPackageGenerateCommand.generateNewId(),
53
+ webPartId: _a.generateNewId(),
54
54
  webPartFeatureName: `${args.options.webPartTitle} Feature`,
55
55
  webPartFeatureDescription: `A feature which activates the Client-Side WebPart named ${args.options.webPartTitle}`,
56
- webPartAlias: SpfxPackageGenerateCommand.getWebPartAlias(args.options.webPartTitle),
56
+ webPartAlias: _a.getWebPartAlias(args.options.webPartTitle),
57
57
  webPartName: args.options.webPartTitle,
58
- webPartSafeName: SpfxPackageGenerateCommand.getSafeWebPartName(args.options.webPartTitle),
58
+ webPartSafeName: _a.getSafeWebPartName(args.options.webPartTitle),
59
59
  webPartDescription: args.options.webPartDescription,
60
- webPartModule: SpfxPackageGenerateCommand.getSafePackageName(args.options.webPartTitle)
60
+ webPartModule: _a.getSafePackageName(args.options.webPartTitle)
61
61
  };
62
62
  let tmpDir = undefined;
63
63
  let error;
@@ -73,7 +73,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
73
73
  await logger.log('Copying files...');
74
74
  }
75
75
  const src = path.join(__dirname, 'package-generate', 'assets');
76
- fsUtil.copyRecursiveSync(src, tmpDir, s => SpfxPackageGenerateCommand.replaceTokens(s, tokens));
76
+ fsUtil.copyRecursiveSync(src, tmpDir, s => _a.replaceTokens(s, tokens));
77
77
  const files = fsUtil.readdirR(tmpDir);
78
78
  if (this.verbose) {
79
79
  await logger.log('Processing files...');
@@ -82,7 +82,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
82
82
  if (this.debug) {
83
83
  await logger.log(`Processing ${filePath}...`);
84
84
  }
85
- if (!SpfxPackageGenerateCommand.isBinaryFile(filePath)) {
85
+ if (!_a.isBinaryFile(filePath)) {
86
86
  if (this.verbose) {
87
87
  await logger.log('Replacing tokens...');
88
88
  }
@@ -91,7 +91,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
91
91
  await logger.log('Before:');
92
92
  await logger.log(fileContents);
93
93
  }
94
- fileContents = SpfxPackageGenerateCommand.replaceTokens(fileContents, tokens);
94
+ fileContents = _a.replaceTokens(fileContents, tokens);
95
95
  if (this.debug) {
96
96
  await logger.log('After:');
97
97
  await logger.log(fileContents);
@@ -170,7 +170,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
170
170
  return 'AutoWP' + webPartName.replace(/[^a-zA-Z0-9]/g, '').substr(0, 40);
171
171
  }
172
172
  }
173
- _SpfxPackageGenerateCommand_instances = new WeakSet(), _SpfxPackageGenerateCommand_initTelemetry = function _SpfxPackageGenerateCommand_initTelemetry() {
173
+ _a = SpfxPackageGenerateCommand, _SpfxPackageGenerateCommand_instances = new WeakSet(), _SpfxPackageGenerateCommand_initTelemetry = function _SpfxPackageGenerateCommand_initTelemetry() {
174
174
  this.telemetry.push((args) => {
175
175
  Object.assign(this.telemetryProperties, {
176
176
  allowTenantWideDeployment: args.options.allowTenantWideDeployment === true,
@@ -187,13 +187,13 @@ _SpfxPackageGenerateCommand_instances = new WeakSet(), _SpfxPackageGenerateComma
187
187
  }, _SpfxPackageGenerateCommand_initOptions = function _SpfxPackageGenerateCommand_initOptions() {
188
188
  this.options.unshift({ option: '-t, --webPartTitle <webPartTitle>' }, { option: '-d, --webPartDescription <webPartDescription>' }, { option: '-n, --name <name>' }, { option: '--html <html>' }, {
189
189
  option: '--enableForTeams [enableForTeams]',
190
- autocomplete: SpfxPackageGenerateCommand.enableForTeamsOptions
190
+ autocomplete: _a.enableForTeamsOptions
191
191
  }, { option: '--exposePageContextGlobally' }, { option: '--exposeTeamsContextGlobally' }, { option: '--allowTenantWideDeployment' }, { option: '--developerName [developerName]' }, { option: '--developerPrivacyUrl [developerPrivacyUrl]' }, { option: '--developerTermsOfUseUrl [developerTermsOfUseUrl]' }, { option: '--developerWebsiteUrl [developerWebsiteUrl]' }, { option: '--developerMpnId [developerMpnId]' });
192
192
  }, _SpfxPackageGenerateCommand_initValidators = function _SpfxPackageGenerateCommand_initValidators() {
193
193
  this.validators.push(async (args) => {
194
194
  if (args.options.enableForTeams &&
195
- SpfxPackageGenerateCommand.enableForTeamsOptions.indexOf(args.options.enableForTeams) < 0) {
196
- return `${args.options.enableForTeams} is not a valid value for enableForTeams. Allowed values are: ${SpfxPackageGenerateCommand.enableForTeamsOptions.join(', ')}`;
195
+ _a.enableForTeamsOptions.indexOf(args.options.enableForTeams) < 0) {
196
+ return `${args.options.enableForTeams} is not a valid value for enableForTeams. Allowed values are: ${_a.enableForTeamsOptions.join(', ')}`;
197
197
  }
198
198
  return true;
199
199
  });
@@ -0,0 +1,55 @@
1
+ export const workflow = {
2
+ name: "Deploy Solution {{ name }}",
3
+ on: {
4
+ push: {
5
+ branches: [
6
+ "main"
7
+ ]
8
+ }
9
+ },
10
+ jobs: {
11
+ "build-and-deploy": {
12
+ "runs-on": "ubuntu-latest",
13
+ steps: [
14
+ {
15
+ name: "Checkout",
16
+ uses: "actions/checkout@v3.5.3"
17
+ },
18
+ {
19
+ name: "Use Node.js 16.x",
20
+ uses: "actions/setup-node@v3.7.0",
21
+ with: {
22
+ "node-version": "16.x"
23
+ }
24
+ },
25
+ {
26
+ name: "Run npm ci",
27
+ run: "npm ci"
28
+ },
29
+ {
30
+ name: "Bundle & Package",
31
+ run: "gulp bundle --ship\ngulp package-solution --ship\n"
32
+ },
33
+ {
34
+ name: "CLI for Microsoft 365 Login",
35
+ uses: "pnp/action-cli-login@v2.2.2",
36
+ with: {
37
+ "CERTIFICATE_ENCODED": "${{ secrets.CERTIFICATE_ENCODED }}",
38
+ "CERTIFICATE_PASSWORD": "${{ secrets.CERTIFICATE_PASSWORD }}",
39
+ "APP_ID": "${{ secrets.APP_ID }}"
40
+ }
41
+ },
42
+ {
43
+ name: "CLI for Microsoft 365 Deploy App",
44
+ uses: "pnp/action-cli-deploy@v3.0.1",
45
+ with: {
46
+ "APP_FILE_PATH": "sharepoint/solution/{{ solutionName }}.sppkg",
47
+ "SKIP_FEATURE_DEPLOYMENT": false,
48
+ "OVERWRITE": false
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ };
55
+ //# sourceMappingURL=DeployWorkflow.js.map
@@ -16,6 +16,6 @@ export default [
16
16
  new FN002013_DEVDEP_types_webpack_env('~1.15.2'),
17
17
  new FN002015_DEVDEP_types_react('17'),
18
18
  new FN002016_DEVDEP_types_react_dom('17'),
19
- new FN002019_DEVDEP_microsoft_rush_stack_compiler(['4.5'])
19
+ new FN002019_DEVDEP_microsoft_rush_stack_compiler(['4.7'])
20
20
  ];
21
- //# sourceMappingURL=doctor-1.18.0-beta.1.js.map
21
+ //# sourceMappingURL=doctor-1.18.0.js.map
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpfxProjectDoctorCommand_instances, _SpfxProjectDoctorCommand_initTelemetry, _SpfxProjectDoctorCommand_initOptions, _SpfxProjectDoctorCommand_initValidators;
6
+ var _SpfxProjectDoctorCommand_instances, _a, _SpfxProjectDoctorCommand_initTelemetry, _SpfxProjectDoctorCommand_initOptions, _SpfxProjectDoctorCommand_initValidators;
7
7
  import fs from 'fs';
8
8
  import os from 'os';
9
9
  import path from 'path';
@@ -67,7 +67,7 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
67
67
  '1.17.2',
68
68
  '1.17.3',
69
69
  '1.17.4',
70
- '1.18.0-beta.1'
70
+ '1.18.0'
71
71
  ];
72
72
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initTelemetry).call(this);
73
73
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initOptions).call(this);
@@ -76,7 +76,7 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
76
76
  async commandAction(logger, args) {
77
77
  this.projectRootPath = this.getProjectRoot(process.cwd());
78
78
  if (this.projectRootPath === null) {
79
- throw new CommandError(`Couldn't find project root folder`, SpfxProjectDoctorCommand.ERROR_NO_PROJECT_ROOT_FOLDER);
79
+ throw new CommandError(`Couldn't find project root folder`, _a.ERROR_NO_PROJECT_ROOT_FOLDER);
80
80
  }
81
81
  this.packageManager = args.options.packageManager || 'npm';
82
82
  if (this.verbose) {
@@ -89,10 +89,10 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
89
89
  }
90
90
  project.version = this.getProjectVersion();
91
91
  if (!project.version) {
92
- throw new CommandError(`Unable to determine the version of the current SharePoint Framework project`, SpfxProjectDoctorCommand.ERROR_NO_VERSION);
92
+ throw new CommandError(`Unable to determine the version of the current SharePoint Framework project`, _a.ERROR_NO_VERSION);
93
93
  }
94
94
  if (!this.supportedVersions.includes(project.version)) {
95
- throw new CommandError(`CLI for Microsoft 365 doesn't support validating projects built using SharePoint Framework v${project.version}`, SpfxProjectDoctorCommand.ERROR_UNSUPPORTED_VERSION);
95
+ throw new CommandError(`CLI for Microsoft 365 doesn't support validating projects built using SharePoint Framework v${project.version}`, _a.ERROR_UNSUPPORTED_VERSION);
96
96
  }
97
97
  if (this.verbose) {
98
98
  await logger.logToStderr(`Project built using SPFx v${project.version}`);
@@ -327,7 +327,7 @@ ${f.resolution}
327
327
  };
328
328
  }
329
329
  }
330
- _SpfxProjectDoctorCommand_instances = new WeakSet(), _SpfxProjectDoctorCommand_initTelemetry = function _SpfxProjectDoctorCommand_initTelemetry() {
330
+ _a = SpfxProjectDoctorCommand, _SpfxProjectDoctorCommand_instances = new WeakSet(), _SpfxProjectDoctorCommand_initTelemetry = function _SpfxProjectDoctorCommand_initTelemetry() {
331
331
  this.telemetry.push((args) => {
332
332
  Object.assign(this.telemetryProperties, {
333
333
  packageManager: args.options.packageManager || 'npm'
@@ -341,13 +341,13 @@ _SpfxProjectDoctorCommand_instances = new WeakSet(), _SpfxProjectDoctorCommand_i
341
341
  });
342
342
  this.options.unshift({
343
343
  option: '--packageManager [packageManager]',
344
- autocomplete: SpfxProjectDoctorCommand.packageManagers
344
+ autocomplete: _a.packageManagers
345
345
  });
346
346
  }, _SpfxProjectDoctorCommand_initValidators = function _SpfxProjectDoctorCommand_initValidators() {
347
347
  this.validators.push(async (args) => {
348
348
  if (args.options.packageManager) {
349
- if (SpfxProjectDoctorCommand.packageManagers.indexOf(args.options.packageManager) < 0) {
350
- return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${SpfxProjectDoctorCommand.packageManagers.join(', ')}`;
349
+ if (_a.packageManagers.indexOf(args.options.packageManager) < 0) {
350
+ return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${_a.packageManagers.join(', ')}`;
351
351
  }
352
352
  }
353
353
  return true;
@@ -42,7 +42,7 @@ export class PnPJsRule extends BasicDependencyRule {
42
42
  }
43
43
  ];
44
44
  }
45
- visit(project) {
45
+ async visit(project) {
46
46
  const findings = this.pnpModules
47
47
  .map(x => this.getModuleAndParents(project, x.key))
48
48
  .reduce((x, y) => [...x, ...y]);
@@ -67,7 +67,7 @@ export class PnPJsRule extends BasicDependencyRule {
67
67
  targetValue: 'require(\"tslib\");'
68
68
  })));
69
69
  }
70
- return Promise.resolve({ entries: findings, suggestions: fileEdits });
70
+ return { entries: findings, suggestions: fileEdits };
71
71
  }
72
72
  getEntryFilesList(project) {
73
73
  return project && project.manifests ? project.manifests.map(x => x.path.replace('.manifest.json', '.ts')) : [];
@@ -0,0 +1,157 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _SpfxProjectGithubWorkflowAddCommand_instances, _a, _SpfxProjectGithubWorkflowAddCommand_initTelemetry, _SpfxProjectGithubWorkflowAddCommand_initOptions, _SpfxProjectGithubWorkflowAddCommand_initValidators;
7
+ import fs from 'fs';
8
+ import path from 'path';
9
+ import yaml from 'yaml';
10
+ import { CommandError } from '../../../../Command.js';
11
+ import { fsUtil } from '../../../../utils/fsUtil.js';
12
+ import { validation } from '../../../../utils/validation.js';
13
+ import commands from '../../commands.js';
14
+ import { workflow } from './DeployWorkflow.js';
15
+ import { BaseProjectCommand } from './base-project-command.js';
16
+ class SpfxProjectGithubWorkflowAddCommand extends BaseProjectCommand {
17
+ get name() {
18
+ return commands.PROJECT_GITHUB_WORKFLOW_ADD;
19
+ }
20
+ get description() {
21
+ return 'Adds a GitHub workflow for a SharePoint Framework project.';
22
+ }
23
+ constructor() {
24
+ super();
25
+ _SpfxProjectGithubWorkflowAddCommand_instances.add(this);
26
+ __classPrivateFieldGet(this, _SpfxProjectGithubWorkflowAddCommand_instances, "m", _SpfxProjectGithubWorkflowAddCommand_initTelemetry).call(this);
27
+ __classPrivateFieldGet(this, _SpfxProjectGithubWorkflowAddCommand_instances, "m", _SpfxProjectGithubWorkflowAddCommand_initOptions).call(this);
28
+ __classPrivateFieldGet(this, _SpfxProjectGithubWorkflowAddCommand_instances, "m", _SpfxProjectGithubWorkflowAddCommand_initValidators).call(this);
29
+ }
30
+ async commandAction(logger, args) {
31
+ this.projectRootPath = this.getProjectRoot(process.cwd());
32
+ if (this.projectRootPath === null) {
33
+ throw new CommandError(`Couldn't find project root folder`, _a.ERROR_NO_PROJECT_ROOT_FOLDER);
34
+ }
35
+ const solutionPackageJsonFile = path.join(this.projectRootPath, 'package.json');
36
+ const packageJson = fs.readFileSync(solutionPackageJsonFile, 'utf-8');
37
+ const solutionName = JSON.parse(packageJson).name;
38
+ if (this.debug) {
39
+ logger.logToStderr(`Adding GitHub workflow in the current SPFx project`);
40
+ }
41
+ try {
42
+ this.updateWorkflow(solutionName, workflow, args.options);
43
+ this.saveWorkflow(workflow);
44
+ }
45
+ catch (error) {
46
+ throw new CommandError(error);
47
+ }
48
+ }
49
+ saveWorkflow(workflow) {
50
+ const githubPath = path.join(this.projectRootPath, '.github');
51
+ fsUtil.ensureDirectory(githubPath);
52
+ const workflowPath = path.join(githubPath, 'workflows');
53
+ fsUtil.ensureDirectory(workflowPath);
54
+ const workflowFile = path.join(workflowPath, 'deploy-spfx-solution.yml');
55
+ fs.writeFileSync(path.resolve(workflowFile), yaml.stringify(workflow), 'utf-8');
56
+ }
57
+ updateWorkflow(solutionName, workflow, options) {
58
+ workflow.name = workflow.name.replace('{{ name }}', options.name ?? solutionName);
59
+ if (options.branchName) {
60
+ workflow.on.push.branches[0] = options.branchName;
61
+ }
62
+ if (options.manuallyTrigger) {
63
+ // eslint-disable-next-line camelcase
64
+ workflow.on.workflow_dispatch = null;
65
+ }
66
+ if (options.skipFeatureDeployment) {
67
+ this.getDeployAction(workflow).with.SKIP_FEATURE_DEPLOYMENT = true;
68
+ }
69
+ if (options.overwrite) {
70
+ this.getDeployAction(workflow).with.OVERWRITE = true;
71
+ }
72
+ if (options.loginMethod === 'user') {
73
+ const loginAction = this.getLoginAction(workflow);
74
+ loginAction.with = {
75
+ ADMIN_USERNAME: '${{ secrets.ADMIN_USERNAME }}',
76
+ ADMIN_PASSWORD: '${{ secrets.ADMIN_PASSWORD }}'
77
+ };
78
+ }
79
+ if (options.scope === 'sitecollection') {
80
+ const deployAction = this.getDeployAction(workflow);
81
+ deployAction.with.SCOPE = 'sitecollection';
82
+ deployAction.with.SITE_COLLECTION_URL = options.siteUrl;
83
+ }
84
+ if (solutionName) {
85
+ const deployAction = this.getDeployAction(workflow);
86
+ deployAction.with.APP_FILE_PATH = deployAction.with.APP_FILE_PATH.replace('{{ solutionName }}', solutionName);
87
+ }
88
+ }
89
+ getLoginAction(workflow) {
90
+ const steps = this.getWorkFlowSteps(workflow);
91
+ return steps.find(step => step.uses && step.uses.indexOf('action-cli-login') >= 0);
92
+ }
93
+ getDeployAction(workflow) {
94
+ const steps = this.getWorkFlowSteps(workflow);
95
+ return steps.find(step => step.uses && step.uses.indexOf('action-cli-deploy') >= 0);
96
+ }
97
+ getWorkFlowSteps(workflow) {
98
+ return workflow.jobs['build-and-deploy'].steps;
99
+ }
100
+ }
101
+ _a = SpfxProjectGithubWorkflowAddCommand, _SpfxProjectGithubWorkflowAddCommand_instances = new WeakSet(), _SpfxProjectGithubWorkflowAddCommand_initTelemetry = function _SpfxProjectGithubWorkflowAddCommand_initTelemetry() {
102
+ this.telemetry.push((args) => {
103
+ Object.assign(this.telemetryProperties, {
104
+ name: typeof args.options.name !== 'undefined',
105
+ branchName: typeof args.options.branchName !== 'undefined',
106
+ manuallyTrigger: !!args.options.manuallyTrigger,
107
+ loginMethod: typeof args.options.loginMethod !== 'undefined',
108
+ scope: typeof args.options.scope !== 'undefined',
109
+ skipFeatureDeployment: !!args.options.skipFeatureDeployment,
110
+ overwrite: !!args.options.overwrite
111
+ });
112
+ });
113
+ }, _SpfxProjectGithubWorkflowAddCommand_initOptions = function _SpfxProjectGithubWorkflowAddCommand_initOptions() {
114
+ this.options.unshift({
115
+ option: '-n, --name [name]'
116
+ }, {
117
+ option: '-b, --branchName [branchName]'
118
+ }, {
119
+ option: '-m, --manuallyTrigger'
120
+ }, {
121
+ option: '-l, --loginMethod [loginMethod]',
122
+ autocomplete: _a.loginMethod
123
+ }, {
124
+ option: '-s, --scope [scope]',
125
+ autocomplete: _a.scope
126
+ }, {
127
+ option: '-u, --siteUrl [siteUrl]'
128
+ }, {
129
+ option: '--skipFeatureDeployment'
130
+ }, {
131
+ option: '--overwrite'
132
+ });
133
+ }, _SpfxProjectGithubWorkflowAddCommand_initValidators = function _SpfxProjectGithubWorkflowAddCommand_initValidators() {
134
+ this.validators.push(async (args) => {
135
+ if (args.options.scope && args.options.scope === 'sitecollection') {
136
+ if (!args.options.siteUrl) {
137
+ return `siteUrl option has to be defined when scope set to ${args.options.scope}`;
138
+ }
139
+ const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.siteUrl);
140
+ if (isValidSharePointUrl !== true) {
141
+ return isValidSharePointUrl;
142
+ }
143
+ }
144
+ if (args.options.loginMethod && _a.loginMethod.indexOf(args.options.loginMethod) < 0) {
145
+ return `${args.options.loginMethod} is not a valid login method. Allowed values are ${_a.loginMethod.join(', ')}`;
146
+ }
147
+ if (args.options.scope && _a.scope.indexOf(args.options.scope) < 0) {
148
+ return `${args.options.scope} is not a valid scope. Allowed values are ${_a.scope.join(', ')}`;
149
+ }
150
+ return true;
151
+ });
152
+ };
153
+ SpfxProjectGithubWorkflowAddCommand.loginMethod = ['application', 'user'];
154
+ SpfxProjectGithubWorkflowAddCommand.scope = ['tenant', 'sitecollection'];
155
+ SpfxProjectGithubWorkflowAddCommand.ERROR_NO_PROJECT_ROOT_FOLDER = 1;
156
+ export default new SpfxProjectGithubWorkflowAddCommand();
157
+ //# sourceMappingURL=project-github-workflow-add.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-github-workflow-model.js.map
@@ -2,7 +2,7 @@ import { spfx } from "../../../../../../utils/spfx.js";
2
2
  import { DependencyRule } from "./DependencyRule.js";
3
3
  export class FN001022_DEP_office_ui_fabric_react extends DependencyRule {
4
4
  constructor(packageVersion, add = true) {
5
- super('office-ui-fabric-react', packageVersion, false, add);
5
+ super('office-ui-fabric-react', packageVersion, false, true, add);
6
6
  }
7
7
  get id() {
8
8
  return 'FN001022';
@@ -0,0 +1,13 @@
1
+ import { DependencyRule } from "./DependencyRule.js";
2
+ export class FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7 extends DependencyRule {
3
+ constructor(packageVersion) {
4
+ super('@microsoft/rush-stack-compiler-4.7', packageVersion, true);
5
+ }
6
+ get id() {
7
+ return 'FN002028';
8
+ }
9
+ get supersedes() {
10
+ return ['FN002010', 'FN002011', 'FN002012', 'FN002017', 'FN002018', 'FN002020'];
11
+ }
12
+ }
13
+ //# sourceMappingURL=FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js.map
@@ -103,7 +103,7 @@ export default [
103
103
  'fixWith': 'symbol'
104
104
  },
105
105
  'Function': {
106
- 'message': 'The \\'Function\\' type accepts any function-like value.\nIt provides no type safety when calling the function, which can be a common source of bugs.\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \'new\'.\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'
106
+ 'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'
107
107
  }
108
108
  }
109
109
  }