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

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 (246) hide show
  1. package/allCommands.json +1 -1
  2. package/allCommandsFull.json +1 -1
  3. package/dist/Auth.js +3 -3
  4. package/dist/AuthServer.js +7 -7
  5. package/dist/api.js +1 -1
  6. package/dist/config.js +1 -0
  7. package/dist/m365/cli/commands/cli-doctor.js +2 -2
  8. package/dist/m365/cli/commands.js +1 -2
  9. package/dist/m365/commands/login.js +122 -69
  10. package/dist/m365/commands/setup.js +1 -1
  11. package/dist/m365/entra/commands/administrativeunit/administrativeunit-add.js +0 -5
  12. package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +0 -5
  13. package/dist/m365/entra/commands/administrativeunit/administrativeunit-list.js +0 -5
  14. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +0 -5
  15. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +0 -5
  16. package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +0 -5
  17. package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +0 -5
  18. package/dist/m365/entra/commands/app/app-add.js +0 -5
  19. package/dist/m365/entra/commands/app/app-get.js +0 -5
  20. package/dist/m365/entra/commands/app/app-list.js +0 -5
  21. package/dist/m365/entra/commands/app/app-permission-add.js +0 -5
  22. package/dist/m365/entra/commands/app/app-remove.js +0 -5
  23. package/dist/m365/entra/commands/app/app-role-add.js +0 -5
  24. package/dist/m365/entra/commands/app/app-role-list.js +0 -5
  25. package/dist/m365/entra/commands/app/app-role-remove.js +0 -5
  26. package/dist/m365/entra/commands/app/app-set.js +0 -5
  27. package/dist/m365/entra/commands/approleassignment/approleassignment-add.js +0 -5
  28. package/dist/m365/entra/commands/approleassignment/approleassignment-list.js +0 -5
  29. package/dist/m365/entra/commands/approleassignment/approleassignment-remove.js +0 -5
  30. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-add.js +0 -5
  31. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-get.js +0 -5
  32. package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-list.js +0 -5
  33. package/dist/m365/entra/commands/group/group-add.js +0 -4
  34. package/dist/m365/entra/commands/group/group-get.js +0 -5
  35. package/dist/m365/entra/commands/group/group-list.js +0 -5
  36. package/dist/m365/entra/commands/group/{group-user-add.js → group-member-add.js} +18 -18
  37. package/dist/m365/entra/commands/group/{group-user-list.js → group-member-list.js} +16 -21
  38. package/dist/m365/entra/commands/group/{group-user-set.js → group-member-set.js} +19 -19
  39. package/dist/m365/entra/commands/group/group-remove.js +0 -5
  40. package/dist/m365/entra/commands/groupsetting/groupsetting-add.js +0 -5
  41. package/dist/m365/entra/commands/groupsetting/groupsetting-get.js +0 -5
  42. package/dist/m365/entra/commands/groupsetting/groupsetting-list.js +0 -5
  43. package/dist/m365/entra/commands/groupsetting/groupsetting-remove.js +0 -5
  44. package/dist/m365/entra/commands/groupsetting/groupsetting-set.js +0 -5
  45. package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-get.js +0 -5
  46. package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-list.js +0 -5
  47. package/dist/m365/entra/commands/license/license-list.js +0 -5
  48. package/dist/m365/entra/commands/m365group/m365group-add.js +0 -5
  49. package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +0 -5
  50. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +0 -5
  51. package/dist/m365/entra/commands/m365group/m365group-get.js +0 -5
  52. package/dist/m365/entra/commands/m365group/m365group-list.js +0 -5
  53. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +0 -5
  54. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +0 -5
  55. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +0 -5
  56. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +0 -5
  57. package/dist/m365/entra/commands/m365group/m365group-remove.js +0 -5
  58. package/dist/m365/entra/commands/m365group/m365group-renew.js +0 -5
  59. package/dist/m365/entra/commands/m365group/m365group-report-activitycounts.js +0 -4
  60. package/dist/m365/entra/commands/m365group/m365group-report-activitydetail.js +0 -4
  61. package/dist/m365/entra/commands/m365group/m365group-report-activityfilecounts.js +0 -4
  62. package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +0 -4
  63. package/dist/m365/entra/commands/m365group/m365group-report-activitystorage.js +0 -4
  64. package/dist/m365/entra/commands/m365group/m365group-set.js +159 -86
  65. package/dist/m365/entra/commands/m365group/m365group-teamify.js +0 -5
  66. package/dist/m365/entra/commands/m365group/m365group-user-add.js +5 -18
  67. package/dist/m365/entra/commands/m365group/m365group-user-list.js +0 -5
  68. package/dist/m365/entra/commands/m365group/m365group-user-remove.js +0 -6
  69. package/dist/m365/entra/commands/m365group/m365group-user-set.js +0 -6
  70. package/dist/m365/entra/commands/oauth2grant/oauth2grant-add.js +0 -5
  71. package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +3 -17
  72. package/dist/m365/entra/commands/oauth2grant/oauth2grant-remove.js +0 -5
  73. package/dist/m365/entra/commands/oauth2grant/oauth2grant-set.js +0 -5
  74. package/dist/m365/entra/commands/policy/policy-list.js +0 -5
  75. package/dist/m365/entra/commands/siteclassification/siteclassification-disable.js +0 -5
  76. package/dist/m365/entra/commands/siteclassification/siteclassification-enable.js +0 -5
  77. package/dist/m365/entra/commands/siteclassification/siteclassification-get.js +0 -5
  78. package/dist/m365/entra/commands/siteclassification/siteclassification-set.js +0 -5
  79. package/dist/m365/entra/commands/user/user-add.js +0 -5
  80. package/dist/m365/entra/commands/user/user-get.js +0 -5
  81. package/dist/m365/entra/commands/user/user-guest-add.js +0 -5
  82. package/dist/m365/entra/commands/user/user-hibp.js +0 -5
  83. package/dist/m365/entra/commands/user/user-license-add.js +0 -5
  84. package/dist/m365/entra/commands/user/user-license-list.js +0 -5
  85. package/dist/m365/entra/commands/user/user-license-remove.js +0 -5
  86. package/dist/m365/entra/commands/user/user-list.js +0 -5
  87. package/dist/m365/entra/commands/user/user-password-validate.js +0 -5
  88. package/dist/m365/entra/commands/user/user-recyclebinitem-clear.js +0 -5
  89. package/dist/m365/entra/commands/user/user-recyclebinitem-list.js +0 -5
  90. package/dist/m365/entra/commands/user/user-recyclebinitem-remove.js +0 -5
  91. package/dist/m365/entra/commands/user/user-recyclebinitem-restore.js +0 -5
  92. package/dist/m365/entra/commands/user/user-registrationdetails-list.js +0 -4
  93. package/dist/m365/entra/commands/user/user-remove.js +0 -5
  94. package/dist/m365/entra/commands/user/user-set.js +0 -5
  95. package/dist/m365/entra/commands/user/user-signin-list.js +0 -5
  96. package/dist/m365/entra/commands.js +3 -3
  97. package/dist/m365/external/commands/item/item-add.js +2 -5
  98. package/dist/m365/flow/commands/environment/environment-list.js +1 -1
  99. package/dist/m365/pa/commands/app/app-list.js +1 -6
  100. package/dist/m365/pa/commands/connector/connector-list.js +1 -6
  101. package/dist/m365/pa/commands/environment/environment-list.js +1 -1
  102. package/dist/m365/pp/commands/environment/environment-list.js +1 -1
  103. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.20.0-rc.1.js → doctor-1.20.0.js} +4 -2
  104. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002021_DEVDEP_rushstack_eslint_config.js +10 -0
  105. package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
  106. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.20.0-rc.1.js → upgrade-1.20.0.js} +28 -26
  107. package/dist/m365/spfx/commands/project/project-upgrade.js +13 -15
  108. package/dist/m365/spfx/commands/spfx-doctor.js +1 -1
  109. package/dist/m365/spo/commands/app/app-instance-list.js +3 -18
  110. package/dist/m365/spo/commands/app/app-list.js +1 -8
  111. package/dist/m365/spo/commands/feature/feature-list.js +1 -8
  112. package/dist/m365/spo/commands/file/file-copy.js +5 -1
  113. package/dist/m365/spo/commands/file/file-move.js +55 -33
  114. package/dist/m365/spo/commands/group/group-member-add.js +3 -23
  115. package/dist/m365/spo/commands/group/group-member-remove.js +1 -18
  116. package/dist/m365/spo/commands/list/list-webhook-list.js +1 -6
  117. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +1 -8
  118. package/dist/m365/spo/commands/page/page-list.js +1 -1
  119. package/dist/m365/spo/commands/page/page-remove.js +37 -16
  120. package/dist/m365/spo/commands/page/page-template-list.js +1 -3
  121. package/dist/m365/spo/commands/site/site-admin-list.js +8 -9
  122. package/dist/m365/spo/commands/site/site-admin-remove.js +5 -4
  123. package/dist/m365/spo/commands/site/site-sharingpermission-set.js +68 -0
  124. package/dist/m365/spo/commands/sitescript/sitescript-get.js +3 -2
  125. package/dist/m365/spo/commands/sitescript/sitescript-list.js +1 -3
  126. package/dist/m365/spo/commands/{site/site-rename.js → tenant/tenant-site-rename.js} +29 -32
  127. package/dist/m365/spo/commands/theme/theme-list.js +1 -1
  128. package/dist/m365/spo/commands/user/user-ensure.js +1 -11
  129. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +1 -6
  130. package/dist/m365/spo/commands.js +2 -1
  131. package/dist/m365/teams/commands/tab/tab-list.js +5 -3
  132. package/dist/m365/viva/commands/engage/Community.js +2 -0
  133. package/dist/m365/viva/commands/engage/engage-community-list.js +28 -0
  134. package/dist/m365/viva/commands.js +1 -0
  135. package/dist/request.js +46 -61
  136. package/dist/utils/spo.js +8 -8
  137. package/dist/utils/timersUtil.js +12 -0
  138. package/dist/utils/urlUtil.js +8 -0
  139. package/dist/utils/zod.js +11 -2
  140. package/docs/docs/cmd/cli/cli-doctor.mdx +24 -23
  141. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-add.mdx +0 -6
  142. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-get.mdx +0 -6
  143. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-list.mdx +0 -6
  144. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +0 -6
  145. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-get.mdx +0 -6
  146. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-list.mdx +0 -6
  147. package/docs/docs/cmd/entra/administrativeunit/administrativeunit-remove.mdx +0 -6
  148. package/docs/docs/cmd/entra/app/app-add.mdx +0 -1
  149. package/docs/docs/cmd/entra/app/app-get.mdx +0 -1
  150. package/docs/docs/cmd/entra/app/app-list.mdx +0 -1
  151. package/docs/docs/cmd/entra/app/app-permission-add.mdx +0 -1
  152. package/docs/docs/cmd/entra/app/app-permission-list.mdx +0 -6
  153. package/docs/docs/cmd/entra/app/app-remove.mdx +0 -1
  154. package/docs/docs/cmd/entra/app/app-role-add.mdx +0 -1
  155. package/docs/docs/cmd/entra/app/app-role-list.mdx +0 -1
  156. package/docs/docs/cmd/entra/app/app-role-remove.mdx +0 -1
  157. package/docs/docs/cmd/entra/app/app-set.mdx +0 -1
  158. package/docs/docs/cmd/entra/approleassignment/approleassignment-add.mdx +0 -6
  159. package/docs/docs/cmd/entra/approleassignment/approleassignment-list.mdx +0 -6
  160. package/docs/docs/cmd/entra/approleassignment/approleassignment-remove.mdx +0 -6
  161. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-add.mdx +0 -1
  162. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-get.mdx +0 -1
  163. package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-list.mdx +0 -1
  164. package/docs/docs/cmd/entra/group/group-add.mdx +0 -6
  165. package/docs/docs/cmd/entra/group/group-get.mdx +0 -6
  166. package/docs/docs/cmd/entra/group/group-list.mdx +0 -6
  167. package/docs/docs/cmd/entra/group/group-member-add.mdx +62 -0
  168. package/docs/docs/cmd/entra/group/{group-user-list.mdx → group-member-list.mdx} +14 -20
  169. package/docs/docs/cmd/entra/group/group-member-set.mdx +62 -0
  170. package/docs/docs/cmd/entra/group/group-remove.mdx +0 -6
  171. package/docs/docs/cmd/entra/groupsetting/groupsetting-add.mdx +0 -6
  172. package/docs/docs/cmd/entra/groupsetting/groupsetting-get.mdx +0 -6
  173. package/docs/docs/cmd/entra/groupsetting/groupsetting-list.mdx +0 -6
  174. package/docs/docs/cmd/entra/groupsetting/groupsetting-remove.mdx +0 -6
  175. package/docs/docs/cmd/entra/groupsetting/groupsetting-set.mdx +0 -6
  176. package/docs/docs/cmd/entra/groupsettingtemplate/groupsettingtemplate-get.mdx +0 -6
  177. package/docs/docs/cmd/entra/groupsettingtemplate/groupsettingtemplate-list.mdx +0 -6
  178. package/docs/docs/cmd/entra/license/license-list.mdx +0 -6
  179. package/docs/docs/cmd/entra/m365group/m365group-add.mdx +0 -6
  180. package/docs/docs/cmd/entra/m365group/m365group-conversation-list.mdx +0 -6
  181. package/docs/docs/cmd/entra/m365group/m365group-conversation-post-list.mdx +0 -6
  182. package/docs/docs/cmd/entra/m365group/m365group-get.mdx +0 -6
  183. package/docs/docs/cmd/entra/m365group/m365group-list.mdx +0 -6
  184. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-clear.mdx +0 -6
  185. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-list.mdx +0 -6
  186. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-remove.mdx +0 -6
  187. package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-restore.mdx +0 -6
  188. package/docs/docs/cmd/entra/m365group/m365group-remove.mdx +0 -6
  189. package/docs/docs/cmd/entra/m365group/m365group-renew.mdx +0 -6
  190. package/docs/docs/cmd/entra/m365group/m365group-report-activitycounts.mdx +0 -6
  191. package/docs/docs/cmd/entra/m365group/m365group-report-activitydetail.mdx +0 -6
  192. package/docs/docs/cmd/entra/m365group/m365group-report-activityfilecounts.mdx +0 -6
  193. package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +2 -8
  194. package/docs/docs/cmd/entra/m365group/m365group-report-activitystorage.mdx +2 -8
  195. package/docs/docs/cmd/entra/m365group/m365group-set.mdx +38 -23
  196. package/docs/docs/cmd/entra/m365group/m365group-teamify.mdx +5 -11
  197. package/docs/docs/cmd/entra/m365group/m365group-user-add.mdx +5 -14
  198. package/docs/docs/cmd/entra/m365group/m365group-user-list.mdx +0 -12
  199. package/docs/docs/cmd/entra/m365group/m365group-user-remove.mdx +7 -17
  200. package/docs/docs/cmd/entra/m365group/m365group-user-set.mdx +0 -10
  201. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -9
  202. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -7
  203. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-remove.mdx +4 -10
  204. package/docs/docs/cmd/entra/oauth2grant/oauth2grant-set.mdx +3 -9
  205. package/docs/docs/cmd/entra/policy/policy-list.mdx +3 -9
  206. package/docs/docs/cmd/entra/siteclassification/siteclassification-disable.mdx +3 -9
  207. package/docs/docs/cmd/entra/siteclassification/siteclassification-enable.mdx +7 -13
  208. package/docs/docs/cmd/entra/siteclassification/siteclassification-get.mdx +1 -7
  209. package/docs/docs/cmd/entra/siteclassification/siteclassification-set.mdx +8 -14
  210. package/docs/docs/cmd/entra/user/user-add.mdx +4 -10
  211. package/docs/docs/cmd/entra/user/user-get.mdx +7 -13
  212. package/docs/docs/cmd/entra/user/user-guest-add.mdx +3 -9
  213. package/docs/docs/cmd/entra/user/user-hibp.mdx +2 -8
  214. package/docs/docs/cmd/entra/user/user-license-add.mdx +0 -6
  215. package/docs/docs/cmd/entra/user/user-license-list.mdx +0 -6
  216. package/docs/docs/cmd/entra/user/user-license-remove.mdx +2 -8
  217. package/docs/docs/cmd/entra/user/user-list.mdx +1 -7
  218. package/docs/docs/cmd/entra/user/user-password-validate.mdx +1 -7
  219. package/docs/docs/cmd/entra/user/user-recyclebinitem-clear.mdx +2 -8
  220. package/docs/docs/cmd/entra/user/user-recyclebinitem-list.mdx +0 -6
  221. package/docs/docs/cmd/entra/user/user-recyclebinitem-remove.mdx +2 -8
  222. package/docs/docs/cmd/entra/user/user-recyclebinitem-restore.mdx +0 -6
  223. package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +7 -13
  224. package/docs/docs/cmd/entra/user/user-remove.mdx +2 -8
  225. package/docs/docs/cmd/entra/user/user-set.mdx +0 -6
  226. package/docs/docs/cmd/entra/user/user-signin-list.mdx +9 -15
  227. package/docs/docs/cmd/external/item/item-add.mdx +3 -3
  228. package/docs/docs/cmd/login.mdx +9 -0
  229. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  230. package/docs/docs/cmd/spo/file/file-move.mdx +116 -9
  231. package/docs/docs/cmd/spo/group/group-member-add.mdx +8 -14
  232. package/docs/docs/cmd/spo/group/group-member-remove.mdx +5 -11
  233. package/docs/docs/cmd/spo/page/page-remove.mdx +30 -12
  234. package/docs/docs/cmd/spo/site/site-admin-list.mdx +64 -12
  235. package/docs/docs/cmd/spo/site/site-sharingpermission-set.mdx +58 -0
  236. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +14 -1
  237. package/docs/docs/cmd/spo/{site/site-rename.mdx → tenant/tenant-site-rename.mdx} +7 -7
  238. package/docs/docs/cmd/spo/user/user-ensure.mdx +2 -5
  239. package/docs/docs/cmd/teams/tab/tab-list.mdx +1 -2
  240. package/docs/docs/cmd/viva/engage/engage-community-list.mdx +81 -0
  241. package/package.json +1 -1
  242. package/dist/m365/cli/commands/cli-reconsent.js +0 -29
  243. package/dist/m365/entra/aadCommands.js +0 -89
  244. package/docs/docs/cmd/cli/cli-reconsent.mdx +0 -62
  245. package/docs/docs/cmd/entra/group/group-user-add.mdx +0 -62
  246. package/docs/docs/cmd/entra/group/group-user-set.mdx +0 -62
package/dist/request.js CHANGED
@@ -4,6 +4,7 @@ import auth, { Auth } from './Auth.js';
4
4
  import { app } from './utils/app.js';
5
5
  import { formatting } from './utils/formatting.js';
6
6
  import { timings } from './cli/timings.js';
7
+ import { timersUtil } from './utils/timersUtil.js';
7
8
  class Request {
8
9
  set debug(debug) {
9
10
  // if the value to set is the same as current value return early to avoid
@@ -125,76 +126,60 @@ class Request {
125
126
  options.method = 'HEAD';
126
127
  return this.execute(options);
127
128
  }
128
- execute(options, resolve, reject) {
129
+ async execute(options) {
129
130
  const start = process.hrtime.bigint();
130
131
  if (!this._logger) {
131
- return Promise.reject('Logger not set on the request object');
132
+ throw 'Logger not set on the request object';
132
133
  }
133
134
  this.updateRequestForCloudType(options, auth.connection.cloudType);
134
- return new Promise((_resolve, _reject) => {
135
- (() => {
136
- if (options.headers && options.headers['x-anonymous']) {
137
- return Promise.resolve('');
138
- }
139
- else {
140
- const url = options.headers && options.headers['x-resource'] ? options.headers['x-resource'] : options.url;
141
- const resource = Auth.getResourceFromUrl(url);
142
- return auth.ensureAccessToken(resource, this._logger, this._debug);
143
- }
144
- })()
145
- .then((accessToken) => {
146
- if (options.headers) {
147
- if (options.headers['x-anonymous']) {
148
- delete options.headers['x-anonymous'];
149
- }
150
- if (options.headers['x-resource']) {
151
- delete options.headers['x-resource'];
152
- }
153
- if (accessToken !== '') {
154
- options.headers.authorization = `Bearer ${accessToken}`;
155
- }
156
- }
157
- const proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY;
158
- if (proxyUrl) {
159
- options.proxy = this.createProxyConfigFromUrl(proxyUrl);
135
+ try {
136
+ let accessToken = '';
137
+ if (options.headers && options.headers['x-anonymous']) {
138
+ accessToken = '';
139
+ }
140
+ else {
141
+ const url = options.headers && options.headers['x-resource'] ? options.headers['x-resource'] : options.url;
142
+ const resource = Auth.getResourceFromUrl(url);
143
+ accessToken = await auth.ensureAccessToken(resource, this._logger, this._debug);
144
+ }
145
+ if (options.headers) {
146
+ if (options.headers['x-anonymous']) {
147
+ delete options.headers['x-anonymous'];
160
148
  }
161
- return this.req(options);
162
- })
163
- .then((res) => {
164
- if (resolve) {
165
- resolve((options.responseType === 'stream' || options.fullResponse) ? res : res.data);
149
+ if (options.headers['x-resource']) {
150
+ delete options.headers['x-resource'];
166
151
  }
167
- else {
168
- const end = process.hrtime.bigint();
169
- timings.api.push(Number(end - start));
170
- _resolve((options.responseType === 'stream' || options.fullResponse) ? res : res.data);
152
+ if (accessToken !== '') {
153
+ options.headers.authorization = `Bearer ${accessToken}`;
171
154
  }
172
- }, async (error) => {
173
- if (error && error.response &&
174
- (error.response.status === 429 ||
175
- error.response.status === 503)) {
176
- let retryAfter = parseInt(error.response.headers['retry-after'] || '10');
177
- if (isNaN(retryAfter)) {
178
- retryAfter = 10;
179
- }
180
- if (this._debug) {
181
- await this._logger.log(`Request throttled. Waiting ${retryAfter}sec before retrying...`);
182
- }
183
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
184
- setTimeout(async () => { this.execute(options, resolve || _resolve, reject || _reject); }, retryAfter * 1000);
155
+ }
156
+ const proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY;
157
+ if (proxyUrl) {
158
+ options.proxy = this.createProxyConfigFromUrl(proxyUrl);
159
+ }
160
+ const res = await this.req(options);
161
+ const end = process.hrtime.bigint();
162
+ timings.api.push(Number(end - start));
163
+ return options.responseType === 'stream' || options.fullResponse ?
164
+ res :
165
+ res.data;
166
+ }
167
+ catch (error) {
168
+ const end = process.hrtime.bigint();
169
+ timings.api.push(Number(end - start));
170
+ if (error && error.response && (error.response.status === 429 || error.response.status === 503)) {
171
+ let retryAfter = parseInt(error.response.headers['retry-after'] || '10');
172
+ if (isNaN(retryAfter)) {
173
+ retryAfter = 10;
185
174
  }
186
- else {
187
- if (reject) {
188
- reject(error);
189
- }
190
- else {
191
- const end = process.hrtime.bigint();
192
- timings.api.push(Number(end - start));
193
- _reject(error);
194
- }
175
+ if (this._debug) {
176
+ await this._logger.log(`Request throttled. Waiting ${retryAfter} sec before retrying...`);
195
177
  }
196
- });
197
- });
178
+ await timersUtil.setTimeout(retryAfter * 1000);
179
+ return this.execute(options);
180
+ }
181
+ throw error;
182
+ }
198
183
  }
199
184
  updateRequestForCloudType(options, cloudType) {
200
185
  const url = new URL(options.url);
package/dist/utils/spo.js CHANGED
@@ -1573,8 +1573,10 @@ export const spo = {
1573
1573
  AllowSchemaMismatch: true,
1574
1574
  BypassSharedLock: !!options?.bypassSharedLock,
1575
1575
  IgnoreVersionHistory: !!options?.ignoreVersionHistory,
1576
+ IncludeItemPermissions: !!options?.includeItemPermissions,
1576
1577
  CustomizedItemName: options?.newName ? [options.newName] : undefined,
1577
- SameWebCopyMoveOptimization: true
1578
+ SameWebCopyMoveOptimization: true,
1579
+ IsMoveMode: options?.operation === 'move'
1578
1580
  }
1579
1581
  }
1580
1582
  };
@@ -1615,7 +1617,7 @@ export const spo = {
1615
1617
  return objectInfo;
1616
1618
  },
1617
1619
  /**
1618
- * Gets the site collection URL for a given web URL using SP Admin site.
1620
+ * Gets the primary owner login from a site as admin.
1619
1621
  * @param adminUrl The SharePoint admin URL
1620
1622
  * @param siteId The site ID
1621
1623
  * @param logger The logger object
@@ -1629,13 +1631,12 @@ export const spo = {
1629
1631
  const requestOptions = {
1630
1632
  url: `${adminUrl}/_api/SPO.Tenant/sites('${siteId}')?$select=OwnerLoginName`,
1631
1633
  headers: {
1632
- accept: 'application/json;odata=nometadata',
1633
- 'content-type': 'application/json;charset=utf-8'
1634
- }
1634
+ accept: 'application/json;odata=nometadata'
1635
+ },
1636
+ responseType: 'json'
1635
1637
  };
1636
1638
  const response = await request.get(requestOptions);
1637
- const responseContent = JSON.parse(response);
1638
- return responseContent.OwnerLoginName;
1639
+ return response.OwnerLoginName;
1639
1640
  },
1640
1641
  /**
1641
1642
  * Gets the primary owner login from a site.
@@ -1650,7 +1651,6 @@ export const spo = {
1650
1651
  }
1651
1652
  const requestOptions = {
1652
1653
  url: `${siteUrl}/_api/site/owner`,
1653
- method: 'GET',
1654
1654
  headers: {
1655
1655
  'accept': 'application/json;odata=nometadata'
1656
1656
  },
@@ -0,0 +1,12 @@
1
+ import { setTimeout } from "timers/promises";
2
+ export const timersUtil = {
3
+ /**
4
+ * Timeout for a specific duration.
5
+ * @param duration Duration in milliseconds.
6
+ */
7
+ /* c8 ignore next 3 */
8
+ async setTimeout(duration) {
9
+ return setTimeout(duration);
10
+ }
11
+ };
12
+ //# sourceMappingURL=timersUtil.js.map
@@ -198,6 +198,14 @@ export const urlUtil = {
198
198
  return rootUrl.origin;
199
199
  }
200
200
  },
201
+ /**
202
+ * Removes leading slashes from the URL.
203
+ * @param url The URL to process.
204
+ * @returns The URL without leading slashes.
205
+ */
206
+ removeLeadingSlashes(url) {
207
+ return url.replace(/^\/+/, '');
208
+ },
201
209
  /**
202
210
  * Removes trailing slashes from the URL.
203
211
  * @param url The URL to process.
package/dist/utils/zod.js CHANGED
@@ -67,7 +67,7 @@ function parseEnum(def, _options, currentOption) {
67
67
  function parseNativeEnum(def, _options, currentOption) {
68
68
  if (currentOption) {
69
69
  currentOption.type = 'string';
70
- currentOption.autocomplete = Object.getOwnPropertyNames(def.values);
70
+ currentOption.autocomplete = Object.values(def.values).map(v => String(v));
71
71
  }
72
72
  return;
73
73
  }
@@ -119,6 +119,15 @@ export const zod = {
119
119
  const options = [];
120
120
  parseDef(schema._def, options);
121
121
  return options;
122
- }
122
+ },
123
+ coercedEnum: (e) => z.preprocess(val => {
124
+ const target = String(val)?.toLowerCase();
125
+ for (const k of Object.values(e)) {
126
+ if (String(k)?.toLowerCase() === target) {
127
+ return k;
128
+ }
129
+ }
130
+ return null;
131
+ }, z.nativeEnum(e))
123
132
  };
124
133
  //# sourceMappingURL=zod.js.map
@@ -22,7 +22,7 @@ This command gets all the necessary diagnostic information needed to triage and
22
22
 
23
23
  ## Examples
24
24
 
25
- Retrieve diagnostic information
25
+ Retrieve diagnostic information.
26
26
 
27
27
  ```sh
28
28
  m365 cli doctor
@@ -42,18 +42,20 @@ m365 cli doctor
42
42
  },
43
43
  "cliVersion": "6.1.0",
44
44
  "nodeVersion": "v16.13.0",
45
- "cliAadAppId": "31359c7f-bd7e-475c-86db-fdb8c937548e",
46
- "cliAadAppTenant": "common",
47
- "authMode": "DeviceCode",
45
+ "cliEntraAppId": "31359c7f-bd7e-475c-86db-fdb8c937548e",
46
+ "cliEntraAppTenant": "common",
47
+ "authMode": "deviceCode",
48
48
  "cliEnvironment": "",
49
49
  "cliConfig": {
50
50
  "output": "json",
51
51
  "showHelpOnFailure": false
52
52
  },
53
53
  "roles": [],
54
- "scopes": [
55
- "AllSites.FullControl"
56
- ]
54
+ "scopes": {
55
+ "https://graph.microsoft.com": [
56
+ "AllSites.FullControl"
57
+ ]
58
+ }
57
59
  }
58
60
  ```
59
61
 
@@ -61,24 +63,24 @@ m365 cli doctor
61
63
  <TabItem value="Text">
62
64
 
63
65
  ```text
64
- authMode : DeviceCode
65
- cliAadAppId : 31359c7f-bd7e-475c-86db-fdb8c937548e
66
- cliAadAppTenant: common
67
- cliConfig : {"output":"json","showHelpOnFailure":false}
68
- cliEnvironment :
69
- cliVersion : 6.1.0
70
- nodeVersion : v16.13.0
71
- os : {"platform":"win32","version":"Windows 10 Pro","release":"10.0.19045"}
72
- roles : []
73
- scopes : ["AllSites.FullControl"]
66
+ authMode : deviceCode
67
+ cliConfig : {"output":"json","showHelpOnFailure":false}
68
+ cliEntraAppId : 31359c7f-bd7e-475c-86db-fdb8c937548e
69
+ cliEntraAppTenant: common
70
+ cliEnvironment :
71
+ cliVersion : 6.1.0
72
+ nodeVersion : v16.13.0
73
+ os : {"platform":"win32","version":"Windows 10 Pro","release":"10.0.19045"}
74
+ roles : []
75
+ scopes : {"https://graph.microsoft.com":["AllSites.FullControl"]}
74
76
  ```
75
77
 
76
78
  </TabItem>
77
79
  <TabItem value="CSV">
78
80
 
79
81
  ```csv
80
- os,cliVersion,nodeVersion,cliAadAppId,cliAadAppTenant,authMode,cliEnvironment,cliConfig,roles,scopes
81
- "{""platform"":""win32"",""version"":""Windows 10 Pro"",""release"":""10.0.19045""}",6.1.0,v16.13.0,31359c7f-bd7e-475c-86db-fdb8c937548e,common,DeviceCode,,"{""output"":""json"",""showHelpOnFailure"":false}",[],"[""AllSites.FullControl""]"
82
+ os,cliVersion,nodeVersion,cliEntraAppId,cliEntraAppTenant,authMode,cliEnvironment,cliConfig,roles,scopes
83
+ "{""platform"":""win32"",""version"":""Windows 10 Pro"",""release"":""10.0.19045""}",6.1.0,v16.13.0,31359c7f-bd7e-475c-86db-fdb8c937548e,common,deviceCode,,"{""output"":""json"",""showHelpOnFailure"":false}",[],"{""https://graph.microsoft.com"":[""AllSites.FullControl""]}"
82
84
  ```
83
85
 
84
86
  </TabItem>
@@ -93,12 +95,11 @@ m365 cli doctor
93
95
  ---------|-------
94
96
  cliVersion | 6.1.0
95
97
  nodeVersion | v16.13.0
96
- cliAadAppId | 31359c7f-bd7e-475c-86db-fdb8c937548e
97
- cliAadAppTenant | common
98
- authMode | DeviceCode
98
+ cliEntraAppId | 31359c7f-bd7e-475c-86db-fdb8c937548e
99
+ cliEntraAppTenant | common
100
+ authMode | deviceCode
99
101
  cliEnvironment |
100
102
  ```
101
103
 
102
104
  </TabItem>
103
105
  </Tabs>
104
-
@@ -12,12 +12,6 @@ Creates a new administrative unit
12
12
  m365 entra administrativeunit add [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad administrativeunit add [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -12,12 +12,6 @@ Gets information about a specific administrative unit
12
12
  m365 entra administrativeunit get [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad administrativeunit get [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -12,12 +12,6 @@ Retrieves a list of administrative units
12
12
  m365 entra administrativeunit list [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad administrativeunit list [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  <Global />
@@ -10,12 +10,6 @@ Add a member (user, group, or device) to an administrative unit
10
10
  m365 entra administrativeunit member add [options]
11
11
  ```
12
12
 
13
- ## Alias
14
-
15
- ```sh
16
- m365 aad administrativeunit member add [options]
17
- ```
18
-
19
13
  ## Options
20
14
 
21
15
  ```md definition-list
@@ -12,12 +12,6 @@ Retrieves info about a specific member of an administrative unit
12
12
  m365 entra administrativeunit member get [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad administrativeunit member get [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -12,12 +12,6 @@ Retrieves members (users, groups, or devices) of an administrative unit
12
12
  m365 entra administrativeunit member list [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad administrativeunit member list [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -10,12 +10,6 @@ Removes an administrative unit
10
10
  m365 entra administrativeunit remove [options]
11
11
  ```
12
12
 
13
- ## Alias
14
-
15
- ```sh
16
- m365 aad administrativeunit remove [options]
17
- ```
18
-
19
13
  ## options
20
14
 
21
15
  ```md definition-list
@@ -15,7 +15,6 @@ m365 entra app add [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad app add [options]
19
18
  m365 entra appregistration add [options]
20
19
  ```
21
20
 
@@ -15,7 +15,6 @@ m365 entra app get [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad app get [options]
19
18
  m365 entra appregistration get [options]
20
19
  ```
21
20
 
@@ -15,7 +15,6 @@ m365 entra app list [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad app list [options]
19
18
  m365 entra appregistration list [options]
20
19
  ```
21
20
 
@@ -15,7 +15,6 @@ m365 entra app permission add [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad app permission add [options]
19
18
  m365 entra appregistration permission add [options]
20
19
  ```
21
20
 
@@ -12,12 +12,6 @@ Lists the application and delegated permissions for a specified Entra Applicatio
12
12
  m365 entra app permission list [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad app permission list [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -13,7 +13,6 @@ m365 entra app remove [options]
13
13
  ## Alias
14
14
 
15
15
  ```sh
16
- m365 aad app remove [options]
17
16
  m365 entra appregistration remove [options]
18
17
  ```
19
18
 
@@ -13,7 +13,6 @@ m365 entra app role add [options]
13
13
  ## Alias
14
14
 
15
15
  ```sh
16
- m365 aad app role add [options]
17
16
  m365 entra appregistration role add [options]
18
17
  ```
19
18
 
@@ -15,7 +15,6 @@ m365 entra app role list [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad app role list [options]
19
18
  m365 entra appregistration role list [options]
20
19
  ```
21
20
 
@@ -13,7 +13,6 @@ m365 entra app role remove [options]
13
13
  ## Alias
14
14
 
15
15
  ```sh
16
- m365 aad app role remove [options]
17
16
  m365 entra appregistration role remove [options]
18
17
  ```
19
18
 
@@ -13,7 +13,6 @@ m365 entra app set [options]
13
13
  ## Alias
14
14
 
15
15
  ```sh
16
- m365 aad app set [options]
17
16
  m365 entra appregistration set [options]
18
17
  ```
19
18
 
@@ -12,12 +12,6 @@ Adds service principal permissions also known as scopes and app role assignments
12
12
  m365 entra approleassignment add [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad approleassignment add [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -12,12 +12,6 @@ Lists app role assignments for the specified application registration
12
12
  m365 entra approleassignment list [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad approleassignment list [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -10,12 +10,6 @@ Deletes an app role assignment for the specified Entra application registration
10
10
  m365 entra approleassignment remove [options]
11
11
  ```
12
12
 
13
- ## Alias
14
-
15
- ```sh
16
- m365 aad approleassignment remove [options]
17
- ```
18
-
19
13
  ## Options
20
14
 
21
15
  ```md definition-list
@@ -15,7 +15,6 @@ m365 entra enterpriseapp add [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad sp add [options]
19
18
  m365 entra sp add [options]
20
19
  ```
21
20
 
@@ -15,7 +15,6 @@ m365 entra enterpriseapp get [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad sp get [options]
19
18
  m365 entra sp get [options]
20
19
  ```
21
20
 
@@ -15,7 +15,6 @@ m365 entra enterpriseapp list [options]
15
15
  ## Alias
16
16
 
17
17
  ```sh
18
- m365 aad sp list [options]
19
18
  m365 entra sp list [options]
20
19
  ```
21
20
 
@@ -12,12 +12,6 @@ Creates a Microsoft Entra group
12
12
  m365 entra group add [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad group add [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -12,12 +12,6 @@ Gets information about the specified Entra group
12
12
  m365 entra group get [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad group get [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list
@@ -12,12 +12,6 @@ Lists Entra groups
12
12
  m365 entra group list [options]
13
13
  ```
14
14
 
15
- ## Alias
16
-
17
- ```sh
18
- m365 aad group list [options]
19
- ```
20
-
21
15
  ## Options
22
16
 
23
17
  ```md definition-list